现在需要将上述redis节点配置为主从复制。
在redis的配置文件中加上 slaveof <host><port>即可实镇搏现。
配置前,查看m161p114中的内容如下:
如下,在服务器192.168.161.115节点的redis的配置文件中增加如下配置:
之后重启redis服务:
此时查看m161p115中的key:
这与m161p114中的内容一致。这说明配置生效,启动从库闷渗数据会直接同步。
此后,从库m161p115将变为只读状态,无法再set内容:
将配置文件中新增的slaveof 注释掉,再重启redis,则主从复制就会关闭,不过从库中的数据不会清除。
当然,主从复制也可以不在配置文件中配置,而直接在命令行中执行命令:
这样数据就会同步过来。
通过info可以看到主从建立成功:
从节点的断开
在从节点执行,slaveof no one 即可。
之后从节点就会变成master状态,但是数据不会清除。如果要清除数据,需要执行flashall
从建立主从复制到断开过程的日制:御罩祥
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的 *** 作,而且这些 *** 作都是原子性的。在此基础上,redis支持各种不同方式的排序。
与memcached一样,凯伍锋为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入橘友磁盘或者把修改 *** 作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 是一个高性能的key-value数据库。
redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分盯晌场合可以对关系数据库起到很好的补充作用。
主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。 这不是一种推荐的方式,更多时候,我们优先考虑 哨兵模式 。
哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是 哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。
这里的哨兵有两个作用
然而一个哨兵进程对Redis服务器进行监控,可能会出现问题,为此,我们可以使用多个哨兵进行监控。各个哨兵之间还会进行监控,这样就形成了多哨兵模式。
用文字描述一下 故障切换(failover) 的过程。假设主服务器宕机,哨带差兵1先检测到这个结果,系统并不会马上进行failover过程,仅仅是哨兵1主观的认为主服务器不可用,这个现象成为 主观下线 。当后面的哨兵也检测到主服务器不可用,并且数量达到一定值时,那么哨兵之间就会进行一次投票,投票的结果由一个哨兵发起,进行failover *** 作。切换成功后裤物,就会通过发布订阅模式,让各个哨兵把自己监控的从服务器实现切换主机,这个过程称为 客观下线 。这样对于客户端而言,一切都是透明的。
配置3个哨兵和1主2从的Redis服务器来演示这个过程。
首先配置Redis的主从服务器,修胡行液改redis.conf文件如下
主从服务器都需要配置
配置3个哨兵,每个哨兵的配置都是一样的。在Redis安装目录下有一个sentinel.conf文件,copy一份进行修改
上述关闭了保护模式,便于测试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)