云数据库 SCS for Redis

    主从节点实例与集群的区别

    云数据库 SCS for Redis 支持标准版实例和集群版实例两种形态的产品,主要区别在于支持的容量、以及支持的命令有所差异。

    特性标准版集群版
    功能兼容 Redis 原生协议遍历、事务、订阅等相关功能受限
    适用范围主从节点实例适用于使用容量小,且使用 Redis 功能较多的开发者。集群适用于业务增长量较快,业务规模较大的企业级用户。
    版本Redis 4.0/3.2Redis 3.2

    主从节点实例不支持的命令

    BGREWRITEAOF、BGSAVE、CLIENT GETNAME、CLIENT KILL、CLIENT LIST、CLIENT SETNAME、CONFIG GET、CONFIG RESETSTAT、CONFIG REWRITE、CONFIG SET、DEBUG OBJECT、DEBUG SEGFAULT、LASTSAVE、MONITOR、SAVE、SYNC、COMMAND、COMMAND COUNT、COMMAND GETKEYS、COMMAND INFO

    集群不支持的命令

    Key 和 String 相关操作

    KEYS、MIGRATE、MOVE、OBJECT、RANDOMKEY、RENAME、RENAMENX、SORT、SCAN

    Hash 表相关操作

    HSCAN

    Set 集合相关操作

    SSCAN

    Pub/Sub

    PSUBSCRIBE、PUBLISH、PUBSUB、PUNSUBSCRIBE、SUBSCRIBE、UNSUBSCRIBE

    Transaction

    DISCARD、EXEC、MULTI、UNWATCH、WATCH

    Script

    SCRIPT EXISTS、SCRIPT FLUSH、SCRIPT KILL、SCRIPT LOAD

    List

    BLPOP、BRPOP、BRPOPLPUSH

    SortedSet

    ZSCAN

    HyperLogLog

    PFADD、PFCOUNT、PFMERGE

    Connection

    ECHO、QUIT、SELECT

    Server

    BGREWRITEAOF、BGSAVE、CLIENT GETNAME、CLIENT KILL、CLIENT LIST、CLIENT SETNAME、CONFIG GET、CONFIG RESETSTAT、CONFIG REWRITE、CONFIG SET、DBSIZE、DEBUG OBJECT、DEBUG SEGFAULT、INFO、LASTSAVE、MONITOR、PSYNC、SAVE、SHUTDOWN、SLAVEOF、SLOWLOG、SYNC、TIME

    注意事项

    Redis 集群会根据 Key 进行了 Hash 分区,不同的 Key 可能 Hash 到了不同节点上,即不同的 Redis上。

    • 对于操作多个集合的操作,需要保证这些集合的 Hash 后的节点处于同一个节点,如 SUNION,SUNIONSTORE,SDIFF,SDIFFSTORE,SINTER,SINTERSTORE,SMOVE。
    • 对于操作多个列表的操作,需要保证这些列表的 Hash 后的节点处于同一个节点,如 RPOPLPUSH。
    • 对于操作多个有序集的操作,需要保证这些有序集的 Hash 后的节点处于同一个节点,如 ZUNIONSTORE。
    • 对于脚本操作,需要保证多个 Key 的 Hash 后的节点处于同一个节点,如 EVAL,EVALSHA。

    如果不能保证同一节点,后端将会发往第一个 Key 所在的节点。因此,其他节点对应的 Key 将无法找到,最终操作的正确性无法保证。

    上一篇
    背景信息
    下一篇
    其他说明