Redis 6 RC1 今日发布(原创译文)

2019-12-20 18:17:02 +08:00
 RedisMasterNode

Redis 6 RC1 发布

又一次,新的 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 中的新功能:

如你所见新功能不少,我打算花点篇幅讲一下其中的几个。

RESP3

Redis 诞生有 10 年了,我觉得我们需要一个新的协议。我在一篇博客 里详细地聊了这观点(译注:博客里观点是 RESP3 在 Redis 6 中是刚需),但是很快又改变了主意,所以 RESP3 协议在 Redis 6 里面是让用户决定的(“opt in”)。Redis 连接用 RESP2 建立,如果用户用HELLO命令握手,就可以进入 RESP3 协议的模式。

为什么需要新协议?因为旧协议不满足语义上的需求了。尽管有一些 RESP3 专属的新功能,但是最主要的原因是我们需要允许 Redis 返回复杂的数据类型,而且不用客户端“必须”得知道如扁平数组要转成什么类型、数字怎么正确和布尔值对应等才能处理。

那么,RESP3 不是新版 Redis 唯一支持的协议(我一直在推动这个事但是看起来好像进度会比预想慢),但这也许不是个坏事,毕竟这样大家有时间去适应。

13182 次点击
所在节点    Redis
15 条回复
qile1
2019-12-20 19:09:17 +08:00
支持 Windows 系统了吗;
RedisMasterNode
2019-12-20 19:35:35 +08:00
@qile1 原文里面貌似没有提及,按照作者的一贯风格这方面应该不是开发迭代的重点>_>
zhuangjia
2019-12-20 19:45:43 +08:00
我这版本万年不更新。。。
RedisMasterNode
2019-12-20 19:48:43 +08:00
@zhuangjia 大部分人都是的呀,不过自己玩一下可以,了解一下新版本里面客户端缓存、多线程 IO、ACLs 之类的也是挺实用的
scriptB0y
2019-12-20 20:13:23 +08:00
赞 辛苦楼主了
MonoBiao
2019-12-20 21:14:40 +08:00
来康康船新版本
mywaiting
2019-12-20 22:12:03 +08:00
redis 也引入 module 的实现了,看来扩展性一直是无法避免的痛

我一直有个观点,这些热门的软件 /app,迟早都会向着平台型的方向发展......
br00k
2019-12-21 01:38:32 +08:00
我反而比较期待客户端缓存这个功能
sdd11
2019-12-21 03:56:35 +08:00
翻译的很不错
jaryur
2019-12-21 06:48:52 +08:00
@mywaiting redis4 就已经有了
RedisMasterNode
2019-12-21 08:51:29 +08:00
@sdd11 感谢~很少有很大提升空间
RedisMasterNode
2019-12-21 09:07:05 +08:00
@RedisMasterNode XD 敲错字了,还有很大提升空间
Maboroshii
2019-12-21 09:43:48 +08:00
阿里云出啥公司用啥😏
paoqi2048
2019-12-21 14:41:51 +08:00
多线程支持终于来了😎
RedisMasterNode
2019-12-21 14:44:30 +08:00
@paoqi2048 要注意这个多线程的模型不一定和大家说的一致,美图团队的博文有张图:
![MT]( https://pic4.zhimg.com/80/v2-c0b2a29952259ef841343b685fd207a3_hd.jpg)

后面要是有能力的话还想做一下这一块和 ACLs 的源码学习和解读 看春节有没有时间

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/630926

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX