4rweq2 发表于 2015-4-23 09:17:03

Redis的安装

Redis安装部署:

1.文件下载:
        wget http://download.redis.io/releases/redis-3.0.0.tar.gz

2.解压及安装
        tar xzf redis-3.0.0.tar.gz
        cd redis-3.0.0
        make
        make install
       
3.测试:
   redis-cli
   redis> set foo bar
   OK
   redis> get foo
   "bar"
4.启动redis:
        # nohup redis-server&
        28085       
        # netstat -tnlp|grep 6379
        tcp      0      0 0.0.0.0:6379                0.0.0.0:*                   LISTEN      28085/redis-server
        tcp      0      0 :::6379                     :::*                        LISTEN      28085/redis-server
5.停止redis:
        # redis-cli shutdown
        # netstat -tnlp|grep 6379
        +Done                  nohup redis-server(wd: /tmp/redis-3.0.0)
        (wd now: ~)
6.redis发送命令:
6.1参数方式发送命令:
        # redis-cli -h 127.0.0.1 -p 6379
        127.0.0.1:6379> exit
        # redis-cli ping
        PONG
        #
6.2交互模式发送命令:
        # redis-cli
        127.0.0.1:6379> ping
        PONG
        127.0.0.1:6379> config set loglevel warning
        OK
7.启动从数据库
        # nohup redis-server --port 6380 --slaveof 127.0.0.1 6379 &
        30683
        ##或在配置文件中加入:        slaveof 主数据库IP主数据库端口,主数据库配置文件无须做任何调整
8.测试:
        # redis-cli-p 6379
        127.0.0.1:6379> set mytest1 aaaa
        OK
        127.0.0.1:6379> exit
        # redis-cli-p 6380
        127.0.0.1:6380> get mytest1
        "aaaa"
9.redis其他命令说明:
        127.0.0.1:6380> set mytest1 'BBBB'
        (error) READONLY You can't write against a read only slave.
        ##默认从数据库是只读的,通过设置slave-read-only=no,可以使从数据库进行读写操作.
        127.0.0.1:6380> slaveof 127.0.0.1 6379
        OK Already connected to specified master
        ##在运行时,修改主数据库的配置,如果该数据库已经是其他的从数据库,则会停止与原来的数据同步,转而与新的数据库同步
        127.0.0.1:6380> slaveof no one
        OK
        ##使当前数据库停止接收其他数据库的同步,转而成为主数据库.
10.Redis 复制的特点和优势。
        1)同一个Master可以同步多个Slaves。
        2)Slave同样可以接受其它Slaves的连接和同步请求,这样可以有效的分载Master的同步压力。因此我们可以将Redis的Replication架构视为图结构。
        3)Master Server是以非阻塞的方式为Slaves提供服务。所以在Master-Slave同步期间,客户端仍然可以提交查询或修改请求。
        4)Slave Server同样是以非阻塞的方式完成数据同步。在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据。
        5)为了分载Master的读操作压力,Slave服务器可以为客户端提供只读操作的服务,写服务仍然必须由Master来完成。即便如此,系统的伸缩性还是得到了很大的提高。
        6)Master可以将数据保存操作交给Slaves完成,从而避免了在Master中要有独立的进程来完成此操作,当主数据库崩溃,从数据库需要使用slaveof no one来提升为主数据库.
11.redis 复制的原理:
        当启动一个Slave进程后,它会向Master发送一个SYNC Command,请求同步连接。
        无论是第一次连接还是重新连接,Master都会启动一个后台进程,将数据快照保存到数据文件中,同时Master会记录所有修改数据的命令并缓存在数据文件中。
        后台进程完成缓存操作后,Master就发送数据文件给Slave,Slave端将数据文件保存到硬盘上,然后将其在加载到内存中,接着Master就会所有修改数据的操作,将其发送给Slave端。
        若Slave出现故障导致宕机,恢复正常后会自动重新连接,Master收到Slave的连接后,将其完整的数据文件发送给Slave
        如果Mater同时收到多个Slave发来的同步请求,Master只会在后台启动一个进程保存数据文件,然后将其发送给所有的Slave,确保Slave正常。
12.redis的安全
12.1 bind:
        默认情况下redis的配置是接受来自任何地址发送来的请求,若只允许指定地址连接,可以将bind参数修改为:
        bind 192.168.1.100 10.0.0.1
12.2 验证密码:
        通过配置文件中的requirepass为redis设置密码,如下:
        requirepass foobared

        # nohup redis-server ./redis.conf&
        31277
        # redis-cli
        127.0.0.1:6379> set mytest 21
        (error) NOAUTH Authentication required.
        127.0.0.1:6379> auth foobared
        OK
        127.0.0.1:6379> set mytest 21
        OK
13.redis常用工具:
        phpredisadmin:网页端管理工具
        rdbtools:rdb快照文件解析器

页: [1]
查看完整版本: Redis的安装