安装redis
解压包 : tar zxvf redis-3.2.8.tar.gz
redis常用的几种使用方式:
- Redis 单副本
- Redis 多副本(主从)
· Redis Sentinel(哨兵)
· Redis Cluster
· Redis 自研
主从
配置
一台机器分两个端口启动两个redis实例来模拟主从同步
主:
修改配置文件
daemonize yes
pidfile /usr/local/redis/redis_6379.pid
logfile "/usr/local/redis/log/redis-6379.log"
从:复制主配置文件为redis-6380.conf
cp redis-6379.conf redis-6380.conf
修改从的配置文件
port 6380
pidfile /usr/local/redis/redis_6380.pid
slaveof 127.0.0.1 6379
masterauth 123456 [注意:这个是主的auth密码,一定要加上 要不然连不上]
logfile "/usr/local/redis/log/redis-6380.log"
在redis目录下,启动两个redis示例
./src/redis-server redis-6379.conf
./src/redis-server redis-6380.conf
启动redis客户端 ,连接6379那个实例
./src/redis-cli -h 127.0.0.1 -p 6379
连上之后输入:
auth 123456
info
这样就说明配置成功了,我们在主实例中新增的数据可同步到从实例中,主实例可以读写,从只能读不能写。
在主实例写入数据:
在从实例中读取:
tips: linux编辑文件时,输入‘G’直接到达文件底部。 输入/xx可查找文件中的xx字符
Redis Sentinel(哨兵)
用户管理多个redis服务器(instance),该系统执行以下3个任务:
- 监控(Monitoring):不断的检查你的主服务器和从服务器是否运行正常;
- 通知(Notification):当被监控的某个redis服务器出现问题时,Sentinel可以通过API向管理员或者其他应用程序发送通知;
- 自动故障迁移(Automatic failover):当一个主服务器不能正常工作时,sentinel会开始一次自动故障迁移操作,它会将失效的主服务器的其中一个从服务器升级为新的主服务器,并让失效主服务器的其他从服务器为复制新的主服务器。当客户端试图连接失效的主服务器时,集群也会向客户端返回新主服务器地址,使得集群可以使用新主服务器代替失效服务器。
配置哨兵模式
修改配置文件
#工作目录
dir /tmp
#配置需要监控的主实例的实例名、ip、端口、2表示至少2个sentinel实例同时检测到redis server异常,才判断为宕机
sentinel monitor mymaster 127.0.0.1 6379 2
#指定某个sentinel实例监控到某个redis实例持续异常多少时间(毫秒),才判断状态为down
sentinel down-after-milliseconds mymaster 30000
启动
先启动两个实例
./src/redis-server redis-6379.conf
./src/redis-server redis-6380.conf
启动哨兵模式
./src/redis-sentinel sentinel.conf
如图:
测试一下哨兵模式
将6379 的进程kill掉
查看sentinel的日志
6380已经成为了主实例,切换成功。