前言
redis也是小公司用得很多的,几乎都会用到,之前用memcache的比较多,因memcache对内存限制为2G,而且不支持持久化,如果进程意外挂了,那么所有的内存数据都会丢失,而redis的出现解决了以上的问题,还有比它支持更多的的类型,所以redis几乎代替了mencache。
大家可以看一下redis中文教程:https://www.redis.net.cn/tutorial/3501.html
redis做主从就像mongod做主从一样简单!我这里就简单说一下,不做写详细的实验了过程了。
一、修改redis.conf
主:修改redis.conf
#设置密码,也可以不设置为了安全最设置一下
requirepass redis123
#绑定多一个本地局域网地址,要不别的服务器访问不了
bind 192.168.0.75 127.0.0.1
从库:
#修改配置redis.conf
slaveof 192.168.0.75 6379
masterauth redis123
#默认情况是yes
slave-read-only yes
配置说明
slaveof <masterip> <masterport> #指定master的ip和port
masterauth <master-password> #master有验证的情况下
slave-read-only yes #设置slave为只读模式
二、查看同步情况
[root@vm5 ~]# redis-cli
127.0.0.1:6379> info Replication
# Replication
role:slave
master_host:192.168.0.75
master_port:6379
master_link_status:up
master_last_io_seconds_ago:2
master_sync_in_progress:0
slave_repl_offset:1694316
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
注:
1.master_link_status:up 表示主从已经开启
2.如果不记得info Replication,可以直接输入info,然后找到Replication选项
3.redis主从是异步方式,如果主高并发很大那么,可以同步会有延迟
三、redis相关的问题
1 Slave升级为Master
就是把slaveof 192.168.0.75 6379,去掉即可!
2.redis变慢问题
一台阿里云服务器通过内网访问另一台阿里云redis,发现查询比在测试机测试慢,唯一的区别是测试机的程序和redis是一起的,而阿里云则是分开的,难道是网络原因,把它做是主从,让redis读本地的127.0.0.1,马上从0.6s变成了0.03s,设置通过本地内网ip访问自己居然用了2s!得知阿里云用的是xen虚拟技术,应该是路由策略问题。
127.0.0.1直接进内核把包发回来了,而本地内网还要把包发给虚拟网卡转一圈再回来。
网友评论