Redis创建replication主从复制笔记

来源:互联网 发布:淘宝前三名减肥药名称 编辑:程序博客网 时间:2024/05/22 05:18

     数据库系统中复制(replication)技术是非常重要的高可用设计,流行的MySQL、MongoDB数据库都支持复制,Redis也实现了复制,而且感觉更灵活方便。类似于其他数据库,实施Redis复制有以下好处。

  • 数据安全。Redis支持快照(snapshotting)和只追加文件(append-only file, AOF)两种方式将数据写出到磁盘实现持久化和备份,类似于MySQL数据库的dump和二进制日志。相比之下,复制是另一个实时工作的Redis实例。
  • 读写分离。从库可以作为读库分担主库的读写压力。

     Redis启用复制后,主库(master)会进行一次snapshotting,然后将数据快照传送给从库(slave),slave接收master的数据快照,master之后的写操作都会发送到slave并执行。详细步骤如下。


     开启复制工作非常简单,master开放访问,slave通过host和port两个参数接收master的更改,“ slaveof host port ”。以我本地为例,一台CentOS作为master,另一台Ubuntu作为slave。首先是开启Redis端口(默认6379)的外网访问。具体启动Redis复制有三种方式。


firewall-cmd --add-port=6379/tcp --permanentsystemctl restart firewalld.service

     ①配置文件法。

shell# echo -e "\n# set replication\nslaveof 192.168.112.128 6379" >> redis.conf

     ②命令行启动选项法。

shell# ./src/redis-server redis.conf --slaveof 192.168.112.128 6379 &

     ③控制台指令法

redis> slaveof 192.168.112.128 6379



参考:

https://redis.io/topics/replication

《Redis in Action》( https://book.douban.com/subject/10597898/ )

原创粉丝点击