安装redis
[root@server1 ~]# ls
redis-5.0.3.tar.gz
[root@server1 ~]# tar zxf redis-5.0.3.tar.gz
[root@server1 ~]# cd redis-5.0.3
[root@server1 redis-5.0.3]# ls
00-RELEASENOTES COPYING Makefile redis.conf runtest-sentinel tests
BUGS deps MANIFESTO runtest sentinel.conf utils
CONTRIBUTING INSTALL README.md runtest-cluster src
[root@server1 redis-5.0.3]# yum install gcc -y
[root@server1 redis-5.0.3]# make #存在Makefile,直接make
make install
初始化安装
[root@server1 redis-5.0.3]# cd utils/
[root@server1 utils]# ./install_server.sh
[root@server1 utils]# netstat -antlp
修改配置文件
[root@server1 utils]# vim /etc/redis/6379.conf
70 bind 0.0.0.0
两种方式开启redis
[root@server1 utils]# /etc/init.d/redis_6379 restart
[root@server1 utils]# systemctl restart redis_6379
键值对的形式存储数据
[root@server1 utils]# redis-cli
127.0.0.1:6379> set name xixi
OK
127.0.0.1:6379> get name
"xixi"
redis主从复制
server1(172.25.40.1)做主库,server2,server3做从库,从库只能读,不能写
[root@server2 utils]# vim /etc/redis/6379.conf
bind 0.0.0.0
replicaof 172.25.40.1 6379
server1写入数据
server2,server3同步到数据
server2,server3不能写入数据
redis高可用sentinel
server1,server2,server3之间做高可用
[root@server3 redis-5.0.3]# cp sentinel.conf /etc/redis/
[root@server3 redis-5.0.3]# vim /etc/redis/sentinel.conf
protected-mode no
sentinel monitor mymaster 172.25.40.1 6379 2
sentinel down-after-milliseconds mymaster 10000 #master宕机10s后切换master
[root@server3 redis-5.0.3]# scp sentinel.conf server1:/etc/redis/
[root@server3 redis-5.0.3]# scp sentinel.conf server2:/etc/redis/
三个节点均开启sentinel服务
[root@server1 redis]# redis-server /etc/redis/sentinel.conf --sentinel
可以看到主从切换过程信息
server3上查看主从信息
[root@server1 redis]# redis-cli -h 172.25.25.3
172.25.40.3:6379> info Replication
# Replication
role:slave
master_host:172.25.40.1
master_port:6379
172.25.40.3:6379> get name
"haha"
查看各模块信息
172.25.40.3:6379> info
server2上查看主从信息
server1上查看主从信息
[root@server1 redis]# redis-cli
server1 down, 此时进行投票,发现server3变为master
[root@server1 redis]# redis-cli -h 172.25.25.2
将server1的redis服务开启,server1为slave,master仍为server3
[root@server3 redis-5.0.3]# redis-server /etc/redis/sentinel.conf --sentinel
server1,server2,server3自动修改配置,指向新的master
[root@server3 redis-5.0.3]# vim /etc/redis/sentinel.conf
sentinel monitor mymaster 172.25.40.3 6379 2