热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Redis7.0首个RC版本发布

Redis7.0首个RC版已发布了一段时间。新版本包含多个面向用户的新功能、显着的性能优化和许多其他改进。与此同时还引入了可能会破坏兼容性的变更,因此使用者在升级时需要确认是否受影响。需要特别注意以下变

Redis 7.0 首个 RC 版已发布了一段时间。新版本包含多个面向用户的新功能、显着的性能优化和许多其他改进。与此同时还引入了可能会破坏兼容性的变更,因此使用者在升级时需要确认是否受影响。

需要特别注意以下变更:

  1. Redis 7 将 AOF 作为多个文件存储在一个文件夹中
  2. Redis 7 为 RDB 文件应用了新版本 (version 10) 格式,与旧版本不兼容
  3. Redis 7 在加载较旧的 RDB 格式时会动态地将 ziplist 编码的 key 转换为 listpacks。此过程通常发生在从 RDB 加载文件或者主从复制之间,且会增加加载时间

新特性

  • Redis Functions:使用服务器脚本扩展 Redis 的新方法 (#8693)
    see https://redis.io/topics/functions-intro
  • ACL:细粒度的基于 key 的权限控制,通过 selectors 支持多种权限规则 (#9974)
    see https://redis.io/topics/acl#key-permissions and https://redis.io/topics/acl#selectors
  • Cluster:支持用于分片(特定节点)的发布/订阅功能 (#8621)
    see https://redis.io/topics/pubsub#sharded-pubsub
  • 在大多数情况下对子命令提供一流处理,这可能会对 ACL 类别、INFO 命令统计等造成影响 (#9504, #10147)
  • 命令元数据和文档更新 (#10104)
    查看 https://redis.io/commands/command-docs, https://redis.io/topics/command-tips
  • Command key-specs:为 client 定位 key 参数和 read/write purpose 提供更好的方法
     (#8324, #10122, #10167)
    see https://redis.io/topics/key-specs
  • 使用 Multi-Part AOF 机制避免 AOF 的重写开销 (#9788)
  • Cluster:支持主机名,不再是此前的仅支持 IP 地址 (#9530)
  • 优化网络缓冲区的内存开销管理,以及增加当总内存超过限制时删除客户端的选项 (#8687)
  • Cluster:增加断开集群总线连接的机制,以防止缓冲区不受控制的增长 (#9774)
  • AOF:增加时间戳注解和对基于时间点恢复的支持 (#9326)
  • Lua:支持 EVAL 脚本中的 Function flags (#10126)
    see https://redis.io/topics/eval-intro#eval-flags
  • Lua:RESP3 协议响应 Verbatim 和 Big-Number 类型 (#9202)
  • Lua:可通过 redis.REDIS_VERSION, redis.REDIS_VERSION_NUM 命令获取 Redis 版本 (#10066)

性能和资源利用改进

  • 集群模式下显著优化延迟并降低内存开销 (#9356)
  • 在具有很多 zset 或 hash key 的场景时降低内存开销 (#9228)
  • 复制积压缓冲区和主从复制缓冲区使用一个全局共享的缓冲区 (#9166)
  • 减少 copy-on-write 的内存开销 (#8974)
  • 释放集群发送缓冲区中未使用的容量 (#9255)
  • 优化内存效率,充分利用客户端结构内存用于回复缓冲区 (#8968)

  • 在 Hash, List, Zset 中将 ziplist 替换为 listpack (#8887, #9366, #9740)
  • 添加对 list 类型的支持以存储大于 4GB 的元素 (#9357)
  • 为临时客户端对象添加了一个池,以便在模块操作中重复使用 (#9940)
  • 移除命令参数计数限制,动态增长 argv 缓冲区 (#9528)
  • 优化 list 操作,从更靠近元素的一侧开始查找 (#9454)
  • 改进 fsync 以避免大量写入磁盘 (#9409)
  • BITSET 和 BITFIELD SET 仅在值实际更改时传播 (#9403)
  • 降低客户端被模块解锁阻塞时的延时 (#9593)

详情查看 release note。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 我们


推荐阅读
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • Visual Studio Code (VSCode) 是一款功能强大的源代码编辑器,支持多种编程语言,具备丰富的扩展生态。本文将详细介绍如何在 macOS 上安装、配置并使用 VSCode。 ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 单元测试:使用mocha和should.js搭建nodejs的单元测试
    2019独角兽企业重金招聘Python工程师标准BDD测试利器:mochashould.js众所周知对于任何一个项目来说,做好单元测试都是必不可少 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 【实例简介】本文详细介绍了如何在PHP中实现微信支付的退款功能,并提供了订单创建类的完整代码及调用示例。在配置过程中,需确保正确设置相关参数,特别是证书路径应根据项目实际情况进行调整。为了保证系统的安全性,存放证书的目录需要设置为可读权限。值得注意的是,普通支付操作无需证书,但在执行退款操作时必须提供证书。此外,本文还对常见的错误处理和调试技巧进行了说明,帮助开发者快速定位和解决问题。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 每年,意甲、德甲、英超和西甲等各大足球联赛的赛程表都是球迷们关注的焦点。本文通过 Python 编程实现了一种生成赛程表的方法,该方法基于蛇形环算法。具体而言,将所有球队排列成两列的环形结构,左侧球队对阵右侧球队,首支队伍固定不动,其余队伍按顺时针方向循环移动,从而确保每场比赛不重复。此算法不仅高效,而且易于实现,为赛程安排提供了可靠的解决方案。 ... [详细]
author-avatar
罗帅飞1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有