Redis 2.2.* 到 2.4.*升级方案

来源:互联网 发布:java float精度 编辑:程序博客网 时间:2024/06/05 02:01

Redis 2.2.* 到 2.4.*升级方案

    博客分类: 
  • Nosql
  • Redis
Redis

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

原创粉丝点击