Redis 5.0.x 安装
安装包准备
[root@localhost ~]
-rw-r--r--. 1 root root 1986574 Dec 17 15:29 redis-5.0.9.tar.gz
解压 && 分发
[root@localhost ~]
[root@localhost ~]
安装
[root@localhost ~]
[root@localhost redis]
配置文件配置
相关目录创建
[root@localhost ~]
[root@localhost ~]
配置文件配置
[root@localhost ~]
bind 0.0.0.0
protected-mode no
port 7001
daemonize yes
pidfile /usr/local/redis/conf/7001/redis_7001.pid
loglevel notice
logfile /usr/local/redis/conf/7001/redis_7001.log
EEOOFF
[root@localhost ~]
bind 0.0.0.0
protected-mode no
port 7002
daemonize yes
slaveof 192.168.8.145 7001
pidfile /usr/local/redis/conf/7002/redis_7002.pid
loglevel notice
logfile /usr/local/redis/conf/7002/redis_7002.log
EEOOFF
[root@localhost ~]
bind 0.0.0.0
protected-mode no
port 7003
daemonize yes
slaveof 192.168.8.145 7001
pidfile /usr/local/redis/conf/7003/redis_7003.pid
loglevel notice
logfile /usr/local/redis/conf/7003/redis_7003.log
EEOOFF
[root@localhost ~]
port 27001
daemonize yes
sentinel monitor redis-master 192.168.8.145 7001 2
sentinel down-after-milliseconds redis-master 5000
sentinel failover-timeout redis-master 900000
sentinel parallel-syncs redis-master 1
logfile /usr/local/redis/conf/27001/redis_27001.log
EEOOFF
[root@localhost ~]
port 27002
daemonize yes
sentinel monitor redis-master 192.168.8.145 7001 2
sentinel down-after-milliseconds redis-master 5000
sentinel failover-timeout redis-master 900000
sentinel parallel-syncs redis-master 1
logfile /usr/local/redis/conf/27002/redis_27002.log
EEOOFF
[root@localhost ~]
port 27003
daemonize yes
sentinel monitor redis-master 192.168.8.145 7001 2
sentinel down-after-milliseconds redis-master 5000
sentinel failover-timeout redis-master 900000
sentinel parallel-syncs redis-master 1
logfile /usr/local/redis/conf/27003/redis_27003.log
EEOOFF
启动服务
redis 主节点
[root@localhost ~]
redis 从节点
[root@localhost ~]
[root@localhost ~]
redis 哨兵节点
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
Redis 可用性验证
redis-cli 客户端验证
[root@localhost ~]
192.168.8.145:7001> info replication
role:master
connected_slaves:2
slave0:ip=192.168.8.145,port=7002,state=online,offset=6078987,lag=0
slave1:ip=192.168.8.145,port=7003,state=online,offset=6078987,lag=0
master_replid:c0f9f5b1d368875069db097b0e606e80e9ce0aee
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:6079132
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:5030557
repl_backlog_histlen:1048576
Python 程序连接
[root@localhost ~]
import redis
from redis.sentinel import Sentinel
sentinel = Sentinel( [ ('192.168.8.145', 27001), ('192.168.8.145', 27002), ('192.168.8.145', 27003) ], socket_timeout=0.5)
master = sentinel.discover_master('redis-master')
print(master)
slave = sentinel.discover_slaves('redis-master')
print(slave)
master = sentinel.master_for('redis-master', socket_timeout=0.5, db=0)
w_ret = master.set('foo', 'bar')
slave = sentinel.slave_for('redis-master', socket_timeout=0.5, db=0)
r_ret = slave.get('foo')
print(r_ret)
[root@localhost ~]
('192.168.8.145', 7001)
[('192.168.8.145', 7003), ('192.168.8.145', 7002)]
b'bar'
参考