首页/数据/数据库速查/集群使用限制(DB0 / 多键 / Lua / 事务)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条Redis 命令96 条
Redis 运维与场景124 条

集群使用限制(DB0 / 多键 / Lua / 事务)

集群限制清单:只有 DB 0;多键操作要求同槽;Lua 脚本所有键须同槽且显式声明;事务/WATCH 同理;FLUSHALL 等命令需多节点执行。

数据库速查数据更新于 2026-10-12
  • 只有 0 号库:SELECT 不可用
  • MGET/MSET/DEL 多键:必须同槽(hash tag 保证)
  • Lua/EVAL:keys 显式传入且全部同槽
  • MULTI/EXEC/WATCH:只能操作同槽键
  • FLUSHDB/FLUSHALL 按节点逐个执行(cluster 模式范围是本节点共享数据)
  • SCAN:只能扫当前节点,全量遍历需遍历所有主节点

遍历全集群

遍历全集群
redis-cli --cluster call 10.0.0.1:6379 DBSIZE
redis-cli --cluster call 10.0.0.1:6379 SCAN 0 COUNT 100
# 或:
redis-cli -c --scan --pattern 'user:*'
为集群改造代码 = 收敛多键操作 + 设计 hash tag + 换集群感知客户端;这三件事没做好,后期故障排除会很痛。

易错点

  • 代码里 DBSIZE/FLUSHALL 在集群上只影响单节点:全量操作要逐节点或 --cluster call
  • SCAN 只扫到一个节点的键:全量遍历必须遍历所有主节点

数据来源与参考

  • Redis 官方文档: Cluster 的限制
  • Redis 官方文档: redis-cli --cluster call

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌