目录
项目一开始就开始使用redis了,但并没有高可用起来,只是运用到redis的存取功能。这两天偶然看到redis的主从复制,想着有空自己搞一下,但没想到搭建的过程终于到太多的坑了。现在记录下,搭建过程:
redis安装(环境ubuntu 14)
sudo apt-get install redis-server
安装不做过多讲解,不会的执行百度。
搭建主从redis服务,我采用的是同台服务,不同的端口
主服务配置
redis安装完后,修改redis.conf文件,先备份一下原始redis.conf值如下图所示
sudo cp redis.conf redis.conf.bak
sudo vi redis.conf
从服务配置
我们拷贝复用一个redis.conf
sudo cp redis.conf.bak slave.conf
因为我们采用的不同端口的redis服务,所以第一步先修改下端口号,由6379 - > 6380
在配置与主库的链接
配置截图如下:
配置完后,我们分别启动主从来个redis服务
主:
从:
启动的时候一定得加上配置文件
启动完毕后,我们依次进入主从redis服务
主(由于默认启动的是端口6379 ,所以这里就没加端口号启动):
从:
启用后的效果如下:
主:
从:
查看主从链接情况
命令:info replication
测试主从内容读取
![](https://images2018.cnblogs.com/blog/1399733/201807/1399733-20180708200619723-434574561.png)
在主库中设置一个key:
在从库中获取name值
至此主从配置成功。
配置主从时遇到的一个问题
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
强制关闭Redis快照导致不能持久化
运行config set stop-writes-on-bgsave-error no 命令后,关闭配置项stop-writes-on-bgsave-error解决该问题。
上述仅是配置成功redis的主从复制,后续会更加详细讲解配置信息中的各个变量值的含义,还有sentinel的用法