译者注:刚毕业 1 年半的萌新,关注 Redis 和它的生态有一段时间,这是第一篇翻译作品所以很多地方不太完美,大家多多指点
又一次,新的 Redis 版本进入发布候选状态,不出数月它就会在各大应用市场上架。我认为这是 Redis 至今最“企业级”的一个版本,不过有意思的是,我也花了不少时间去理解“企业级”意味着什么。我其实不怎么喜欢这个词,但是它确实有一些意义。Redis 如今很多地方都有用上,而且它还非常容易上手使用( scale down ):下载、花 30 秒编译、免配置直接运行。但是应用广泛也意味着加密和权限控制这些特性是必须要有的,所以 Redis 不可避免的需要作出妥协,不止我一个这样觉得,尽管我还是非常坚持将它设计得很简朴。
不过有意思的是,就算是新加功能我也可以按自己特立独行的方式来做。Redis ACLs 的实现就不像你在其他系统所见的一样,支持 SSL 这个特性也是写了好几个迭代最终选取了让核心实现尽可能简洁的方案。我对现在这个结果非常满意。
Redis 6 不仅新增了 ACLs 和 SSL 支持,据我所知这是 Redis 出生以来最大的一次更新,也是最多人参与到其中的一个版本,所以首先需要列出感谢名单。哪些开发者一起打造了 Redis 6 ?下面是他们的名字,按照 commit 数排序(按 commit 来度量很蠢,但是这是最便于我生成一份名单的方式),至少要有两次非 merge 的 commits。还要说明的是,我一直在到处改各种 bug,这导致我的 commits 数看起来虚高。
685 antirez
81 zhaozhao.zz
76 Oran Agra
51 artix
28 Madelyn Olson
27 Yossi Gottlieb
15 David Carlier
14 Guy Benoish
14 Guy Korland
13 Itamar Haber
9 Angus Pearson
8 WuYunlong
8 yongman
7 vattezhang
7 Chris Lamb
5 Dvir Volk
5 meir@redislabs.com
5 chendianqiang
5 John Sully
4 dejun.xdj
4 Daniel Dai
4 Johannes Truschnigg
4 swilly22
3 Bruce Merry
3 filipecosta90
3 youjiali1995
2 James Rouzier
2 Andrey Bugaevskiy
2 Brad Solomon
2 Hamid Alaei
2 Michael Chaten
2 Steve Webster
2 Wander Hillen
2 Weiliang Li
2 Yuan Zhou
2 charsyam
2 hujie
2 jem
2 shenlongxing
2 valentino
2 zhudacai 00228490
2 喜欢兰花山丘
感谢上面所有的贡献者,这是一次极好的团队合作。
接下来是 Change Log 中的新功能:
如你所见新功能不少,我打算花点篇幅讲一下其中的几个。
Redis 诞生有 10 年了,我觉得我们需要一个新的协议。我在一篇博客 里详细地聊了这观点(译注:博客里观点是 RESP3 在 Redis 6 中是刚需),但是很快又改变了主意,所以 RESP3 协议在 Redis 6 里面是让用户决定的(“opt in”)。Redis 连接用 RESP2 建立,如果用户用HELLO
命令握手,就可以进入 RESP3 协议的模式。
为什么需要新协议?因为旧协议不满足语义上的需求了。尽管有一些 RESP3 专属的新功能,但是最主要的原因是我们需要允许 Redis 返回复杂的数据类型,而且不用客户端“必须”得知道如扁平数组要转成什么类型、数字怎么正确和布尔值对应等才能处理。
那么,RESP3 不是新版 Redis 唯一支持的协议(我一直在推动这个事但是看起来好像进度会比预想慢),但这也许不是个坏事,毕竟这样大家有时间去适应。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.