安装redis
具体安装步骤查看 安装Redis 文章
配置master节点信息
修改redis.conf(6379.conf)相关配置信息
daemonize yes # 让redis以daemon进程运行
pidfile /var/run/redis_6379.pid # pid文件
dir /var/lib/redis/6379 # 存储持久化文件的目录
bind <自己的ip地址> # bind为自己的ip地址,不能为127.0.0.1
requirepass 123456 # 设置auth认证口令
配置修改后,重启redis生效配置文件
systemctl restart redis_6379.service
或
redis-server /etc/redis/6379.conf &
redis-cli连接
redis-cli -h 192.168.2.10 -a 123456
192.168.2.10:6379> info replication
role:master
connected_slaves:1
slave0:ip=192.168.2.11,port=6379,state=online,offset=1714,lag=1
master_replid:917690b5541495d6cb7eabb808224e6c24681675
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1714
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1714
配置slave节点信息
修改redis.conf(6379.conf)相关配置信息
daemonize yes # 让redis以daemon进程运行
pidfile /var/run/redis_6379.pid # pid文件
dir /var/lib/redis/6379 # 存储持久化文件的目录
bind <自己的ip地址> # bind为自己的ip地址,不能为127.0.0.1
replicaof <masterip> <masterport> # 配置master节点信息
masterauth 123456 # 配置master的auth认证口令
replica-read-only yes # 默认slave节点为只读
配置修改后,重启redis生效配置文件
systemctl restart redis_6379.service
或
redis-server /etc/redis/6379.conf &
验证是否可以监听到master节点端口
telent 192.168.2.10 6379
# 可以通过yum install telnet_server 和 yum install telent 安装telnet
redis-cli连接
redis-cli -h 192.168.2.11
192.168.2.11:6379> info replication
# Replication
role:slave
master_host:192.168.2.10
master_port:6379
master_link_status:up
master_last_io_seconds_ago:7
master_sync_in_progress:0
slave_repl_offset:210
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:917690b5541495d6cb7eabb808224e6c24681675
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:210
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:210
最后的验证
在master节点上写入新的数据,set key value
,
然后在slave节点读取相应数据,get key
如果读取得到,说明主从架构部署成功。
QPS压测
redis-benchmark -h <ip地址>
-c <clients> 客户端的并发连接数 (默认 50)
-n <requests> 总的请求数 (默认 100000)
-d <size> 设置或获取的value数据的大小(默认2字节)
一般,一台普通的redis服务器(1G内存),可以支撑上万的QPS。
影响QPS的两大杀手:复杂的操作,比如lrange;还有就是value值很大
可以通过水平扩容redis读节点,提升读吞吐量。