Redis 3.0 正式版发布,正式支持 Redis 集群

  • 李小兵

2015 年 4 月 3 日

话题:语言 & 开发架构AI

Redis是一个开源、基于 C 语言、基于内存亦可持久化的高性能 NoSQL 数据库,同时,它还提供了多种语言的 API。近日,Redis 3.0 在经过 6 个 RC 版本后,其正式版终于发布了。Redis 3.0 的最重要特征是对 Redis 集群的支持,此外,该版本相对于 2.8 版本在性能、稳定性等方面都有了重大提高。

Redis 3.0 正式版相对于 RC6 版本的改进内容包括:

  • 修复了无磁盘情况下的的复制问题;
  • 在角色变化后对BLPOP复制进行了测试;
  • 改进了 prepareClientToWrite() 错误处理;
  • 移除了 dict.c 中不再使用的函数。

Redis 3.0 版本相对于 2.8 版本带来的主要新特性包括:

  • 实现了分布式的 Redis 即Redis Cluster,从而做到了对集群的支持;
  • 引入了全新的"embedded string" 对象编码方式,从而实现了更少的缓存丢失和在特定的工作负载下速度的大幅提升;
  • AOF 重写过程中的 "last write" 操作降低了 AOF child -> parent 数据传输的延迟
  • 大幅提升 LRU 算法的性能以用于值的失效;
  • WAIT 命令能够阻塞传输到指定数量从节点的写操作;
  • 实现了对MIGRATE连接缓存的支持,从而大幅提升键值迁移的性能;
  • 为 MIGARTE 新增了参数:COPY 和 REPLACE;
  • CLIENT PAUSE命令实现了在指定时间内停止处理客户端请求;
  • 提高了BITCOUNTINCR操作的性能;
  • CONFIG SET能够接受不同单位的内存值,如 CONFIG SET maxmemory 1gb;
  • 调整 Redis 日志格式。

Redis 之父Salvatore Sanfilippo针对 Redis 3.0 正式版的发布这样说到

自己相信 Redis 3.0 将能够完全改变 Redis 的面貌,人们将认识到 Redis 是一个全新的东西,它的自动扩展、容错和高可用性都有了很大的改进,从此,它将能够在更大范围内承担更关键的任务。Redis 3.0 标志着一个新阶段和新开发模式的开始。以后,大量已经开发的新功能将不再急于进入稳定版本,实际上 Redis 3.0 就放弃了很多新功能,从而保证用户能够马上使用新的稳定版本。

Redis 3.0 正式版发布的消息一经公布,就引起了国内各大社区、论坛的热烈讨论,Reddit 的用户主要针对 Redis 稳定性进行了讨论,Hacker News 上也有了相关评论,有兴趣的读者可以前去查看。更多关于 Redis 3.0 正式版本的改进内容,请读者查看其发布说明。更多关于 Redis 相关信息,请读者登录其官网或者查看GitHub 上提供相关的文档


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流。

语言 & 开发架构AI