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
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
相关文章推荐
- Redis监控方案
- Node.js 中使用 Redis 来实现定时任务
- 用 redis 实现和保护 12306
- Redis lua 常用脚本记录
- redis使用jmeter测试
- 详解Redis中的双链表结构
- Redis安装及使用介绍
- 超强、超详细Redis数据库入门教程
- 多台redis部署及同步
- Redis2.8 单个redis JedisPool 与spring的集成配置
- Redis学习笔记
- 基于Twemproxy的Redis集群方案
- 超强、超详细Redis入门教程
- RedisTemplate SerializationFailedException: Failed to deserialize payload 异常解决
- 初学Redis(2)——用Redis作为Mysql数据库的缓存
- Microsoft Visual C++ 2010(86) Redistributable不能安装完美解决
- 初学Redis(1)——认识Redis
- Redis Tutorial
- Redis 存储字符串和对象
- redis CONFIG REWRITE介绍