实例受限使用命令 本文介绍Redis实例受限使用命令 Cluter集群(直连模式)命令限制 Cluster集群实例支持多个Key的命令,但要求保持与开源Redis Cluster的行为一致,不支持跨SLOT访问REDIS命令。具体来说如下: 1.不支持多db,只能select 0。不支持select其他db。 2.要求单个命令操作的KEY都分布在同一个SLOT上。为了保证这个效果,建议可以使用hash tag等。 3.支持事务和PUB/SUB订阅,但要求相关操作的KEY都在同一个SLOT上。 表1 Cluster集群实例受限使用的Redis命令: 命令类型 命令 Strings MSETNX Set SINTER Set SINTERSTORE Set SUNION Set SUNIONSTORE Set SDIFF Set SDIFFSTORE Set SMOVE Sortedset ZUNIONSTORE Sortedset ZINTERSTORE HyperLogLog PFCOUNT HyperLogLog PFMERGE Keys RENAME Keys RENAMENX Keys BITOP Keys RPOPLPUSH 经典版集群命令限制 经典版集群模有如下的不同。 1.支持多DB,可以SELECT命令。 2.支持MSET,MSET等跨SLOT的多个KEY命令支持。 具体参考下面的表2。 3.不支持CLUSTER KEYSLOT以外CLUSTER的命令。 4.Client KILL和CLIENT LIST命令只能操作当前代理的客户端信息,不代表整个实例的。 5.代理模式下的事务、脚本执行都是按slot拆分发到对应节点执行的,同一个slot的事务不会被拆分,但不能保证跨SLOT事务一致性。 表2 代理模式集群支持多SLOT命令: 命令类型 命令 SCRIPTING SCRIPT SCRIPTING EVAL SCRIPTING EVALSHA GENERIC SCAN GENERIC DEL GENERIC UNLINK GENERIC DBSIZE STRING MSET STRING MGET SET SUNION SET SUNIONSTORE SET SDIFF SET SDIFFSTORE SET SINTER SET SINTERSTORE: PUB/SUB SUBSCRIBE PUB/SUB PSUBSCRIBE PUB/SUB PUBLISH PUB/SUB UNSUBSCRIBE PUB/SUB PUNSUBSCRIBE PUB/SUB PUBSUB CHANNELS PUB/SUB PUBSUB NUMPA PUB/SUB PUBSUB NUMSU STREAM XGROU STREAM XINFO STREAM XREAD STREAM XREADGROUP