系统环境:
CentOS 6.9版, 滴滴云服务器: 1核 1GB 内存 20GB SSD存储 1Mbps 带宽
安装命令:
配置yum源:
yum install epel-release
安装redis:
yum install redis
配置:
配置文件位于/etc/redis.conf
因为要配置主从两个redis服务,所以先把配置文件复制一份,命名为redis6380.conf(6380为端口名)
接下来修改两份配置文件,其中
port(6379,6380)、pidfile名(pidfile "/var/run/redis6379.pid",pidfile "/var/run/redis6380.pid"),日志文件名 dbfilename "dump6379.rdb",dbfilename "dump6380.rdb",将daemonize no改为 daemonize yes,6380配置文件中加入slaveof 127.0.0.1 6379
启动:
分别输入命令 redis-server /etc/redis6379.conf redis-server /etc/redis6380.conf
然后分别启动 redis-cli -p 6379 redis-cli -p 6380
使用:
在主redis中 set key value
在从redis中 get key 会得到结果 value (默认从redis只能读不能写,两者进行增量同步)
PS:
一开始在ubuntu平台下尝试发现无法进行主从同步,分析原因是ubuntu内存占用太大,导致剩余内存太少(1G内存只剩100兆),而主库收到从库sync的命令后,会从主进程fork出一个子进程执行bgsave命令(该命令生成RDB文件并全量发送给从库),占用与主进程相同的内存大小,而此时内存不够不能进行bgsave操作,也就无法同步主从。后来更换了系统,安装了CentOS 6.9 占用的内存从900mb骤降到300mb!也就不再出现无法bgsave的问题~
欢迎批评指正!