您的位置:首页 > 数据库 > Redis

Redis主从复制

2015-08-11 16:37 483 查看
redis是一个key-value存储系统,和memcached类似,它支持存储的value类型更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)等类型。和memcached一样,为了保证效率,数据都是缓存在内存中。区别是redis会周期性的将数据同步到磁盘,并在此基础上实现了master-slave同步。

redis主从复制的特点:

1.master可以有多个slave。

2.redis支持多级master-slave结构,即slave也可以作为其他slave的master。

3.主从同步时,master和slave都是非阻塞的。

配置文件redis.conf

[plain] view
plaincopy

daemonize yes #是否作为守护进程运行

pidfile /var/run/redis/redis-server.pid #配置 pid 的存放路径及文件名

port 6379 #Redis 默认监听端口

timeout 300 #客户端闲置多少秒后断开连接

loglevel notice #日志记录级别

logfile /var/log/redis/redis-server.log #指定日志输出的文件名

#设置数据库的数量。默认连接的数据库是0,可以通过 select N 来连接不同的数据库

databases 16

#保存数据到磁盘的策略

#n秒内如果超过m个key被修改,就自动发起快照保存

save 900 1

save 300 10

save 60 10000

rdbcompression yes #当 dump .rdb数据库的时候是否压缩数据对象

dbfilename dump.rdb #dump 数据库的数据保存的文件名

dir /var/lib/redis #redis 的工作目录

主从复制配置

一个redis服务实例需要一个配置文件。

因此启动slave只需要复制master的配置文件然后做少量修改即可。

[plain] view
plaincopy

#master的配置redis.conf:

port 10000

#slave-a的配置slave-a.conf:

port 10001

dbfilename slave-a.rdb

slaveof 127.0.0.1 10000

#slave-b的配置slave-b.conf:

port 10002

dbfilename slave-b.rdb

slaveof 127.0.0.1 10001

启动服务

sudo redis-server /etc/redis/redis.conf

sudo redis-server /data/slave/slave-a.conf

sudo redis-server /data/slave/slave-a.conf

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: