redis的安装
https://mp.csdn.net/console/editor/html/108639018
redis的四种模式 单机版、主从复制、哨兵、以及集群模式,其中单机版不用于生产环境。
主从模式(master-slaves)的作用
- 做备份数据,这样当一个节点损坏(指不可恢复的硬件损坏)时,数据 因为有备份,可以方便恢复。
- 做负载均衡,所有客户端都访问一个节点肯定会影响 Redis 工作效率,有了主 从以后,查询操作就可以通过查询从节点来完成。
主从模式关于master的读写,和slaves的读:
-
一个 Master 可以有多个 Slaves
-
默认配置下,master 节点可以进行读和写,slave 节点只能进行读操作,写操作被禁止 不要修改配置让 slave 节点支持写操作,没有意义,原因如下
-
slave 写入的数据不会被同步到其 他节点
-
当 master 节点修改同一条数据后,slave 节点的数据会被覆盖掉
-
slave 节点挂了不影响其他 slave 节点的读和 master 节点的读和写,重新启动后会将数 据从 master 节点同步过来
-
master 节点挂了以后,不影响 slave 节点的读,Redis 将不再提供写服务,master 节点 启动后 Redis 将重新对外提供写服务
-
master 节点挂了以后,不会从slave中重新选一个作为master
-
redis的主从配置
- 创建一个目录存放主从配置的文件信息
mkdir master-slave
- 做1个主机master,2个从机,总共3台机器
mkdir redis1 redis2 redis3
- 此处使用的是redis-5.0.4版本, 将redis-5.0.4/src/redis-server 分别拷贝到 上述 redis1 redis2 redi3
cp redis-5.0.4/src/redis-server master-slave/redis1/
cp redis-5.0.4/src/redis-server master-slave/redis2/
cp redis-5.0.4/src/redis-server master-slave/redis3/
- 分别在redis1 redis2 redis3 里面建立 redis.conf
redis.conf
#绑定任意ip地址
bind 0.0.0.0
#绑定端口 -- master port
port 8001
#log文件
logfile "8001.log"
#数据库
dbfilename "dump-8001.rdb"
#设置后台启动
daemonize yes
rdbcompression yes
将上述的redis.conf文件,分别放入 redis1 redis2 redi3 , 其中redis1下的conf文件为 8001, redis2 下为8002,redis3下为8003
- 将redis-cli 拷贝到 master-slave 下
root@qb:/usr/local/redis/master-slave# cp /usr/local/bin/redis-