redis 如何搭建集群?
- 首先要启动多个 redis-server
通过 conf 文件标识身份:ip 地址:端口号 -
所有的 server 启动好了过后,通过以下命令制订本人的 master,每台服务器启动的时候默认都是本人为 master
slaveof [ip] [端口]
-
查看主从复制信息
info replication
-
本人不想当 slave 了,用一个命令复原到 master 身份
slaveof no one
redis 的哨兵模式如何实现?
-
减少配置文件“sentinel.conf”, 文件内容一句话搞定!
#myredis 是为设定的 redis master 主服务器起的别名 #127.0.0.1 是 master 的 ip #1 是投票权重 sentinel monitor myredis 127.0.0.1 6381 1
-
启动模式
redis-sentinel myredis/sentinel.conf
- 怎么制订谁是哨兵?
随开启的哨兵模式谁就是哨兵 - 哨兵之间是如何通信的?
通过公布订阅模式,哨兵监听 master,订阅 master,master 公布音讯给哨兵,在 master 外部存储有订阅者的身份标识(ip:端口),所以每个哨兵都能通过这种形式感知到其余哨兵! - 楼主目前试验来看,一旦启用哨兵模式,集群就只能有一个 master,不能有多个
redis 主从复制?
- slave 只能读 master 的信息不能写信息,只管他也有本人的 slave
- 公布订阅模式也是一样,只有 master 能够公布频道,slave 即便能够公布信息,其余订阅该频道的用户也无奈收到,反正 slave 只能读的权力,没有写的权力!
- 公布订阅的命令?
下述命令的执行者是 redis-cli
subscribe channel [channel....]
publish channel1 message