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命令实现了在指定时间内停止处理客户端请求;
- 提高了BITCOUNT、INCR操作的性能;
- CONFIG SET能够接受不同单位的内存值,如CONFIG SET maxmemory 1gb;
- 调整Redis日志格式。
Redis之父Salvatore Sanfilippo针对Redis 3.0正式版的发布这样说到:
Redis 3.0正式版发布的消息一经公布,就引起了国内各大社区、论坛的热烈讨论,Reddit的用户主要针对Redis稳定性进行了讨论,Hacker News上也有了相关评论,有兴趣的读者可以前去查看。更多关于Redis 3.0正式版本的改进内容,请读者查看其发布说明。更多关于Redis相关信息,请读者登录其官网或者查看GitHub上提供相关的文档。
感谢郭蕾对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流。