微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

redis 主从搭建

环境:
redis_M 172.16.0.137 

redis_S 172.16.0.138

 系统:centos6.7

1、在redis_M 172.16.0.137 、redis_S 172.16.0.138搭建单机redis

2、修改配置参数redis.conf

主要修改4个参数:

port

logfile

slaveof   (只在从库修改)

pidfile

daemonize(配置以daemon方式运行)

------------------------------------------------------------------------------------------

修改redis_M 172.16.0.137 redis.conf:

port 6379

pidfile  /var/run/redis.pid

# slaveof <masterip> <masterport>

logfile "/var/log/redis/redis.log"

daemonize yes

修改redis_S 172.16.0.138 redis.conf:

port 6380

pidfile /var/run/redis.pid

slaveof 172.16.0.137 6379

logfile  "/var/log/redis/redis.log"

daemonize yes

----------------------------------------------------------------------------------------------

设置主从同步

1、在redis服务器上的redis.conf中修改bind字段,将

     bind 127.0.0.1

     修改

     bind 0.0.0.0

    又或者直接注释掉bind字段

    # bind 127.0.0.1

2、设置主从同步密码   在配置文件redis.conf修改

主从服务器设置密码:

requirepass  some34QA

主从从服务器配置添加上密码:

 masterauth  some34QA

开启从服务器只读模式(认开启)

slave-read-only yes

3、设置主从持久化:RDB快照持久化    修改redis.conf

mkdir /var/data/redis -p

save 900 1  

save 300 10  

save 60 10000 

stop-writes-on-bgsave-error yes  

rdbcompression yes     (压缩)

rdbchecksum yes  

dbfilename dump.rdb  

dir /var/data/redis

http://www.voidcn.com/blog/aitangyong/article/p-6114064.html

【1. redis调用系统函数fork() ,创建一个子进程。】

【2.子进程将数据集写入到一个临时 RDB 文件中。】

【3.当子进程完成对临时RDB文件的写入时,redis 用新的临时RDB 文件替换原来的RDB 文件,并删除旧的 RDB 文件。】

4、设置主从持久化:AOF持久化     修改redis.conf

appendonly yes

appendfilename "appendonly.aof"

appendfsync everysec

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

http://www.jianshu.com/p/bedec93e5a7b

AOF和RDB对比:

AOF更安全,可将数据及时同步到文件中,但需要较多的磁盘IO,AOF文件尺寸较大,文件内容恢复相对较慢, 也更完整。

RDB持久化,安全性较差,它是正常时期数据备份及 master-slave数据同步的最佳手段,文件尺寸较小,恢复数度较快。

最大内存配置以及内存回收策略:(安装具体业务需要调整,此次为做调整)

maxmemory  12G    (建议设置服务器内存的75%)  当内存达到限制时,Redis 具体的回收策略是通过 maxmemory-policy 配置项配置的。

maxmemory  0           (没有限制,当存储数据达到限制时,Redis 会根据情形选择不同策略,或者返回errors(这样会导致浪费更多的内存),或者清除一些旧数据回收内存来添加新数据)

maxmemory-policy 配置项:

noenviction:不清除数据,只是返回错误,这样会导致浪费掉更多的内存,对大多数写命令(DEL 命令和其他的少数命令例外)

allkeys-lru:从所有的数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰,以供新数据使用

volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰,以供新数据使用

allkeys-random:从所有数据集(server.db[i].dict)中任意选择数据淘汰,以供新数据使用

volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰,以供新数据使用

volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰,以供新数据使用

-----------------------------------------------------------------------------------------------------------------------------------------

redis双节点主从切换:


































版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐