Redis2.4还是很有必要升级的,下面是2.4的一些新特征和改进
1.对小数据量的sorted sets结构的内存使用做很大的优化
2.RDB文件的持久化速度也将会大大提高
3.对目前的一些写操作命令进行了改进,支持批量写入功能
4.启用新的内存分配模式 jemalloc.
5.通过对copy on write机制使用的优化,数据持久化保存的子进程的内存占用将大大减少
6.INFO内容更加丰富
7.新的OBJECT命令,提供对Redis存储value结构描述
8.新的CLIENT命令,提供对Redis客户端连接的信息描述
9.彻底将Slave对Master的连接改成非阻塞,之前connect(2)系统调用是会阻塞的
10.Redis-benchmark、Redis-cli 都进行了几个方面的改进
11.Make 改为彩色输出,更易读
12.VM机制彻底废弃
13.总的来说2.4版本会在各方面有性能上的提升
14.Redis测试框架也有非常大的提升
仅第5条或第9条任一条就值得我们升级了
Redis应用场景:两个Redis服务器,一台master标记为R01,一台slave标记为R02。为了提高读写性能master关闭persistence功能,slave只同步负责同步备份master的数据,不对外提供服务,当然也可以用slave提供服务来达到读写分离。
1.先升级slave(R02)的版本到2.4.*(必须先升级slave)
2.slave(R02)上执行命令 slaveof no one使其称为新的master
3.把应用IP指向原slave(R02),以保证应用的正常继续可用
4.升级原master(R01)的版本到2.4.*,启动redis服务,执行命令slaveof 原slaveIP(R02) 原slavePort(R02),把原master(R01)降级为新的slave,并从新的master(R02)同步数据
5.打开新slave(R01)上的rdb,执行config set save "3600 1 300 100 60 10000"
6.关闭新master(R02)的rdb,执行config set save ""
为了尽可能保证数据的正确性,2和3几乎要同时执行。升级平滑的关键在于第3步,应用部署了多个会增加第3步的操作难度。
文章 来源:http://zhupan.iteye.com/blog/1310670