简单地说,我们现在是Redis

了解更多

进入Redis 6.0

你知道泳池浅水区的警示牌上写着"禁止潜水"吗?新的Redis 6不是对世界上最受欢迎的数据库的浅层更新,它是如此的深,你可以直接进入。现在,Salvatore Sanfilippo已经让Redis 6普遍可用,让我们来看看新的变化和功能。

新的东西可以分为几个不同的类别:安全性、性能、易用性,甚至一些全新的功能。每个类别都有一些改进,所以仔细阅读,了解它们如何从根本上改变你使用Redis的方式。

Redis 6带来了新闻安全功能

也许Redis 6最大、最具革命性的特性是访问控制列表(acl)。acl为Redis带来了“用户”的概念。每个用户都可以拥有一组定义好的功能,这些功能规定了他们可以运行哪些命令以及使用哪些键。如果你已经使用Redis一段时间了,你可能会把这个功能放在你的愿望清单上——它减少了像跑步这样糟糕的动作的需要FLUSHDB,并允许您执行更复杂的任务,如为特定操作创建特定用户,以便每个操作都使用至少需要特权

复述,客户Javanode . jsPythonnet现在Redis 6已经支持acl,我们希望支持能迅速扩展到更多的语言和库。

acl将允许用户仅访问特定的命令、密钥,甚至基于用户指定的权限的密钥模式。

除了acl, Redis 6还提供了通过SSL加密通信的能力。在这个版本之前,Redis的加密被推迟到进程之外,这意味着它需要其他应用程序提供加密,许多实例没有加密。对于Redis来说,这是向前迈出的重要一步,它允许在更多需要加密的环境中使用。

Redis 6更快

尽管Redis在高性能方面享有盛名,但它的单线程架构在工程师中一直存在争议,他们想知道Redis是否能更快。Redis 6迎来了一个新时代:虽然它保留了核心的单线程数据访问接口,但I/O现在是线程化的。

通过将读写I/O套接字的时间委托给其他线程,Redis进程可以将更多的周期用于操作、存储和检索数据,从而提高整体性能。这种改进保留了以前版本的事务特性,因此您不必重新考虑应用程序来利用提高的性能。同样,复述,单线程的命令现在可以配置为类似于多线程的行为拆开命令,从Redis版本4开始就可用了。

局部变量的性能几乎总是不可战胜的,最后,即使是Redis这样高性能的数据库也会比访问堆栈或堆的东西慢得多。Redis 6为复杂的客户端库增加了一项新技术,实现了客户端缓存层,在你自己的进程中存储数据子集。这个实现非常聪明,可以管理对相同数据的多次更新,并尽可能保持数据同步——同时保留了Redis在本地变量速度方面的优势。

Redis 6更容易使用

多年来,Redis协议的第二版(RESP2)已经被证明是非常灵活的。它不仅支持Redis的内置数据结构,而且还支持复述,模块以及随之而来的新指令和数据。Redis 6开始支持新版本的协议,RESP3。这个新协议是之前版本的进化,它增加了结果的丰富性,让接口库更好地映射使用宿主语言的可变类型的Redis响应。此外,该协议的这个版本为更瘦的客户端库和更少的代码铺平了道路,最终将允许更快速地采用新的命令和模块。RESP2将伴随我们一段时间,因为社区需要一些时间将软件、工具和客户端库迁移到新协议。万博电竞客服但如果你想一头钻进去,你可以在Redis 6上尝试一下RESP3——只要理解就行了RESP3仍处于早期开发阶段

Redis集群极大地扩展了Redis使用的多样性,但它确实需要一个更复杂的客户端库。在较小的语言社区中,支持集群的客户机库从未完全出现。值得庆幸的是,Redis 6.0自带了一个集群代理来帮助那些不支持Redis集群API的语言平台连接到Redis集群。这掩盖了复杂性,因此只需要一个简单的单实例库实现。

从Redis 1.0开始,开发人员ag万博下载万博最新版本下载苹果就可以设置密钥在给定时间后过期,这是缓存不可缺少的功能。这种过期总是依赖于采样技术,以避免多个键同时过期时不可预知的延迟。在Redis 6.0中,过期周期已经被重写,允许更快的过期,更接近生存时间(TTL)属性。此外,您现在可以调整过期时间,以锁定特定情况所需的准确性。

遇到最长公共子序列家族

现在来看看完全不同的东西。最近,Redis的作者Salvatore发布了一个新命令,这让社区感到意外家庭版本6LCS(最长公共子序列)命令可用于在字符串中查找非连续序列。如果你用过差值,你就间接地用过这个算法。在Salvatore自己的同名例子中

STRALGO LCS字符串salvatore sanfilippo
“萨罗城”

这个命令是怎么得到这个结果的?

萨尔增值税o再保险sanfilippo

如你所见STRALGO LCS字符串命令跳过了一些字节——对于每个参数可以是一个不同的数字,试图找到公共字节的最长序列。

这只是个开始,Redis的新功能还有很多。由于LCS命令家族可以处理二进制数据——就像redis中的几乎所有其他命令一样——所以请考虑一下文本处理之外的可能性。Salvatore提到了将其用于RNA和DNA分析的可能性.非常简洁,但请记住,这是一个非常新的命令,您可能希望将其视为沙箱——命令名称在上周更改了,所以如果不是所有地方都支持它,请不要感到惊讶。

从Redis 6开始吧

Redis 6为Redis社区提供了巨大的新可能性。它带来了从更好的安全性到增量性能改进的一切,更不用说更容易使用和引入新的方式使用Redis。如果你准备好了,就可以开始了现在从redis.io下载全新的版本!要了解更多关于Redis Enterprise 6.0的可用性,它利用了Redis 6的万博体育彩改进,并将Redis的安全性提高到一个更高的水平,请参阅我们的帖子Rediscover Redis安全与Redis Enterp万博体育彩rise 6.0

Baidu