本文介绍redis主从复制的安装与配置,并对配置文件做了比较详细的注释,初学者可以参考学习下。 设置好redis的slave服务器后,slave会建立和master的连接,然后发送sync命令。无论是第一次同步建立的连接还是连接断开后的重新连接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。后台进程完成写文件后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上。接着master就会把缓存的命令转发给slave。而且后续master收到的写命令都会通过开始建立的连接发送给slave。从master到slave的同步数据的命令和从client发送的命令使用相同的协议格式。当master和slave的连接断开时slave可以自动重新建立连接。如果master同时收到多个slave发来的同步连接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有slave。
redis主从复制的特点
Redis的主从复制的配置很简洁,而且支持多级Master/Slave,比如B是A的slave,C是B的Slave。 Master/Slave配置
一个Redis服务实例需要一个配置文件,因此启动slave,只需要复制master的配置文件,然后做少量修改即可。假设master监听1010端口,slave监听2020端口,假设复制好的slave的配置文件名为slave.conf。 Redis 性能( 摘自官方测试描述 )
在 50 个并发的情况下请求 10w 次,写的速度是 110000 Redis介绍 redis是一个key/value内存数据库,数据可以异步复制到磁盘,性能非常高,都知道memcached的性能很好,redis的读写能力不逊于memcached,甚至还要强。除此外,redis具有memcached的很多没有的强大特性。memcached数据无法持久化,全部是纯内存模式,不支持主从复制,数据的操作接口很有限。相同的是,两者的负载均衡策略都一样,客户端基于一致性哈希选择服务器。redis的支持的数据类型和数据操作很丰富,他的值可以是 string(字符串)、list(列表)、sets(集合)或者是 ordered sets(被排序的集合),所有的数据类型都具有 push/pop、add/remove、执行服务端的并集、交集、两个 sets 集中的差别等等操作,这些操作都是具有原子性的,Redis 还支持各种不同的排序能力。 Redis 安装及配置
下载 Redis:wget http://redis.googlecode.com/files/redis-2.0.0-rc4.tar.gz 配置 redis.conf 配置文件:
复制代码代码如下:
#是否作为守护进程运行
#配置 pid 的存放路径及文件名,默认为当前路径下
#Redis 默认监听端口
#客户端闲置多少秒后,断开连接
#日志显示级别
#指定日志输出的文件名,也可指定到标准输出端口
#设置数据库的数量,默认连接的数据库是 0,可以通过 select N 来连接不同的数据库
#保存数据到 disk 的策略
#当有 10 条 Keys 数据被改变时,300 秒刷新到 disk 一次
#当有 1w 条 keys 数据被改变时,60 秒刷新到 disk 一次
#当 dump .rdb 数据库的时候是否压缩数据对象
#dump 数据库的数据保存的文件名
#Redis 的工作目录
########### Replication #####################
############## SECURITY ###########
############### LIMITS ##############
########## APPEND ONLY MODE #########
################ VIRTUAL MEMORY ###########
############# ADVANCED CONFIG ###############
启动 Redis |