Redis8.0 你不得不需要知道的新特性

好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.
 

做互联网的,肯定是对 Redis 非常的熟悉了,Redis 也是在不断地变化,最新的Redis已经到 8.0 版本了,今天整理下 Redis 8的新特性。

开源协议回归 AGPLv3

  • 背景:之前 Redis 使用 SSPL 授权,引发了社区争议,被认为“开源”实则“收权”,导致社区分裂。

  • 新特性:Redis 8.0 重新采用 AGPLv3 开源协议。

  • 影响:这一举措让 Redis 社区重新凝聚,开发者能够更自由地使用和贡献代码,也体现了 Redis 创始人 Salvatore 对开源精神的回归和尊重。

  • 样例:开发者可以自由地在 AGPLv3 协议下使用 Redis 8.0 源码进行学习、研究和二次开发,比如企业可以基于 Redis 8.0 开发定制化的缓存解决方案,并在遵循协议的前提下开源分享。

性能大幅提升

  • 命令延迟降低:命令延迟最多降低了 87%。例如执行 SET 命令,几乎瞬间就能返回结果,大大提高了应用的响应速度。

  • 多线程 I/O 支持:开启 8 个线程后,吞吐量可以翻倍。在高并发场景下,比如电商网站的秒杀活动,Redis 8.0 能够更高效地处理大量的读写请求,确保系统的稳定运行。

  • 复制机制优化:一边复制一边同步改动,主节点写入速度提升 7.5%,内存节省 35%,整体性能提升 18%。这意味着在主从复制架构中,从节点能够更快地获取主节点的数据,减少了数据同步的延迟和资源消耗。

新增 8 种数据结构

  • Vector Set(向量集合):支持近似搜索,内置 HNSW 算法。例如在 AI 领域,可用于处理图像、文本等数据的向量检索,快速找到与目标向量相似的向量集合,为推荐系统、智能搜索等应用提供支持。

  • JSON:支持 JSON 查询、局部更新、JSONPath 操作。比如在处理复杂的用户数据时,可以直接对 JSON 格式的数据进行精确查询和修改,而无需手动解析和拼接字符串,大大提高了开发效率和数据操作的灵活性。

  • 时间序列:采用高效的压缩算法,读取速度快。适用于监控系统、物联网设备数据存储等场景,能够高效地存储和查询时间序列数据,帮助企业实时监控业务指标和设备状态。

  • Bloom Filter、Cuckoo Filter、Count-min Sketch、Top-K、T-Digest:这些原本是模块的数据结构,现在并入内核,成为 Redis 的核心功能,可用于处理大数据流中的各种问题,如快速判断元素是否存在、统计元素频率、估算数据分布等。

强大的查询引擎

  • 支持多种查询方式:包括标签查、字段查、模糊查、全文查、向量查等。例如,可以通过标签快速筛选出符合条件的数据,使用模糊查询匹配类似的关键字,利用全文检索功能在大量文本数据中查找相关内容,向量查询则可用于处理复杂的向量相似性问题。

  • 支持分词、相似词和近义词拓展:能够对文本数据进行更智能的处理和分析。比如在搜索引擎中,用户输入一个关键词后,Redis 可以通过分词和相似词拓展,找到更多相关的文档或数据,提高搜索的准确性和召回率。

  • 跨多个 JSON 或哈希字段建索引,支持多条件搜索:这使得 Redis 在处理复杂数据结构时,能够像关系型数据库一样进行高效的多条件查询。例如在电商系统中,可以根据商品的多个属性(如品牌、价格、类别等)进行组合查询,快速找到符合条件的商品列表。

ACL 权限管控增强

  • 权限分类细化:重新整理了 ACL 分类,为新数据结构补充了权限标识。例如可以针对 JSON 数据结构,限制用户只能读取或修改特定的字段,增强了数据的安全性和隔离性。

  • 支持精细授权:能够限制用户对特定命令、数据结构的操作权限。比如在多租户环境中,可以为每个租户分配独立的 Redis 数据空间,并严格限制他们只能访问和操作自己租户的数据,防止数据泄露和误操作。

新增实用命令

  • HGETDEL:读取哈希字段的值后立即删除该字段。例如在缓存系统中,当需要获取某个缓存值后立即释放资源时,使用该命令可以一步到位,避免了额外的删除操作。

  • HGETEX:读取哈希字段的值时可以同时修改该字段的 TTL(生存时间)。比如在会话管理中,每次访问用户会话数据时,可以根据需要延长会话的有效期,而无需单独调用设置 TTL 的命令。

  • HSETEX:在设置哈希字段的值时,可以同时为其设置过期时间。这使得哈希字段的过期管理更加方便,无需额外的命令组合,提高了开发效率和代码的可读性。

Redis Stack 和 Redis OSS 整合

  • 整合背景:之前 Redis Stack 和 Redis OSS 分别存在,用户在使用时需要根据需求选择合适的版本,可能会遇到模块不匹配等问题。

  • 整合优势:现在将 Redis Stack 全部并入 Redis Open Source,用户下载一个 Redis 包即可获得所有功能,包括各种模块和插件。例如,开发者可以方便地使用 Redis Insight 进行可视化管理,利用 VS Code 插件进行开发调试,还可以借助 Redis Copilot 实现自然语言问答等功能,大大提高了 Redis 的易用性和用户体验。

     

     相知不迷路,欢迎你来 :“codingba” or “码出精彩” 交朋友

### Redis 8.0 新特性及更新内容 目前官方尚未正式发布 Redis 8.0 版本,因此关于其具体的新特性和更新内容尚无确切文档或公告可供参考。然而,基于 Redis 社区的发展趋势和技术演进方向,可以推测 Redis 8.0 可能会在以下几个方面有所突破: #### 1. **进一步优化分布式计算能力** 随着 Function 自定义函数库的支持在 Redis 7.0 中引入[^2],Redis 8.0 很可能将进一步扩展这一功能,提供更强大的分布式计算能力和更高的灵活性。这可能包括但不限于: - 更丰富的编程接口支持。 - 对复杂业务逻辑的更好适配。 #### 2. **增强数据持久化机制** Redis 数据持久化的改进一直是各版本的重要主题之一。预计 Redis 8.0 将继续优化 RDB 和 AOF 的性能与可靠性,可能会引入以下新特性: - 改进 Multi-Part AOF 的效率和稳定性。 - 提供更加灵活的持久化策略选项,允许用户根据实际需求定制不同的持久化方案。 #### 3. **提升集群管理体验** 当前 Redis 集群管理模式已经较为成熟,但在大规模场景下的运维成本仍然较高。未来版本有望通过自动化工具减少人工干预,简化日常维护工作流程;同时加强跨区域同步等功能来满足全球化应用的需求。 #### 4. **强化安全性措施** 鉴于网络安全形势日益严峻,预计下一版还将着重于提高系统的安全防护水平,例如完善 ACL 权限管理体系、加密通信通道等手段保护敏感信息不被泄露。 以下是部分假设性的技术亮点展示代码片段(仅为示意用途): ```python import redis # 创建连接实例并设置密码验证 r = redis.StrictRedis(host='localhost', port=6379, password="yourpassword", decode_responses=True) def execute_custom_function(key_name): """调用预设好的 server-side function""" result = r.function_load('my_script.lua') # 加载lua脚本作为function output = r.function_exec('MY_SCRIPT', key_name) return output if __name__ == "__main__": sample_key = 'testkey' value_after_processing = execute_custom_function(sample_key) print(f"Processed Value of {sample_key}: ",value_after_processing ) ``` 以上只是对未来可能性的一种展望,并不代表最终产品形态。对于最新进展还需等待官方权威消息公布为准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值