编程 Valkey 9.1.0:ACL 权限细到 database,Lua 引擎被拆成可选模块

2026-09-15 21:07:27

Valkey 9.1.0:ACL 权限细到 database,Lua 引擎被拆成可选模块

Valkey 9.1.0 的改动分布在安全、可观测性、性能、命令与工具几条线上。发布说明见 Valkey 官方博客,托管侧对应的引擎版本可查 AWS ElastiCache 版本说明

安全

数据库级 ACL:ACL 规则现在可以把用户权限限定到具体 database,语法形如 ACL SETUSER ... db=0,1。此前 ACL 能约束可执行命令和可访问的键,但管不到数据库边界,多租户共用一个集群时缺少这一层隔离。

Lua 移出核心:9.1 把 Lua 脚本引擎从核心服务器解耦成独立模块,核心安全面随之缩小,不用脚本能力时可以整体禁用。INFO 多了一个 Scripting Engines 段,用来列出当前已加载的脚本引擎。

TLS

  • INFO 现在会显示 TLS 证书的到期日期,便于在证书过期前发现。
  • 支持证书后台自动重载,轮换证书不需要停机。
  • 支持用证书 SAN URI 做 TLS 认证,方便对接 mTLS。

可观测性

  • 新增 log-format json 配置,日志直接以 JSON 输出,采集侧不必再写自定义解析规则。
  • INFO ALL 提供主线程与 IO 线程的累计用量指标;CLUSTER SHARDS 新增可用区字段。
  • 减少了 rehash 造成的延迟尖峰。

性能

  • 单机吞吐到 210 万请求/秒,测试条件为 512 字节负载、9 个 IO 线程、pipeline 深度 10。
  • 重做了 IO 线程间的通信模型,吞吐最高提升 17%。
  • XRANGE / XREVRANGE 走 stream range 热路径优化,最多快 30%。
  • 默认启用硬件时钟(hardware clock),减少与时间相关的系统调用开销,GET/SET 整体最多提升 3%。
  • 内存:小于 128 字节的字符串最多省 20% 内存,有序集合最多省 10%;SREMZREMHDEL 在批量操作期间暂停自动收缩,删除本身更快。

新命令

  • HGETDEL:原子地取出并删除 hash 字段。
  • MSETEX:一次调用给多个键设置共享的过期时间。此前要么多次 SETEX,要么 SETEXPIRE 组合。
  • CLUSTERSCAN:跨节点的集群级键扫描。以前在集群里扫全部键需要客户端自行对每个节点 SCAN 再合并结果,现在有统一接口。
  • HSETEX 支持 NX / XX 标志。

工具

Valkey CLI 支持原子 slot 迁移,在 --cluster rebalance--cluster reshard 时加上 --cluster-use-atomic-slot-migration 即可启用。

valkey-benchmark 输出新增 RPS 分布,并新增 --warmup--duration 两个参数。

生态

ElastiCache for Valkey 9.1 的等价版本已同步发布。同一批能力里,Valkey 9.0 还带来了多可用区事务日志持久化、hash 字段级 TTL,以及集群模式下的多数据库支持(SELECT 0-15)。

复制全文 生成海报 Valkey Redis 数据库 缓存

推荐文章

程序员茄子在线接单