Redis单机、主备、读写分离、Proxy集群和Cluster集群实例,在特性支持、特性限制以及命令限制有部分差异,具体请查看下表。
对比项 | 单机/主备 | Proxy集群 | Cluster集群 | 读写分离 |
---|---|---|---|---|
兼容Redis版本 | 基础版兼容开源Redis 5.0、6.0、7.0版本。经典版兼容开源Redis 2.8、4.0、5.0版本。 | 经典版兼容开源Redis2.8、4.0、5.0版本,有部分命令限制,请参考命令限制。 | 兼容开源RedisCluster 6.0、7.0版本。 | 兼容开源Redis 6.0、7.0版本。 |
特性支持与限制 | 完全支持开源单机主备使用特性 | Proxy集群实现架构转换,基本支持开源单机主备使用特性,但在特殊命令使用上有限制,请参考实例受限使用的Redis命令。 | Cluster集群完全支持开源社区RedisCluster的使用特性。业务使用RedisCluster的key需要在统一slot槽段范围内,且在使用event notify,scan、keys等命令时需要与每一分片建立连接获取请求结果。 | 通过将读请求分散到多个从节点上,可以显著提高系统的整体读取吞吐量。主从复制存在一定的延迟,不适用于强一致性的场景。 |
客户端协议 | 使用传统Jedis客户端即可。 | 使用传统Jedis客户端即可,不需要支持Redis Cluster协议。 | 需要客户端支持Redis Cluster协议。 | 使用传统Jedis客户端即可。 |
命令限制 | 不支持的Redis命令,请参考开源命令兼容性。 | 不支持的Redis命令,请参考开源命令兼容性。Proxy集群实例受限使用的命令请参考实例受限使用的Redis命令。 | Cluster集群实例100%支持开源社区集群的命令。 | 不支持的Redis命令,请参考开源命令兼容性。 |
副本数 | 单机实例为单副本,只有一个节点。单副本表示实例只有主节点,无法保障数据高可靠。主备默认为双副本,默认为一主一从的架构。双副本支持高可用切换。 | Proxy集群单机实例为单副本,只有一个节点。Proxy集群主备默认为双副本,默认为一主一从的架构。 | Cluster集群单机实例为单副本,只有一个节点。Cluster集群主备默认为双副本,默认为一主一从的架构。 | 多个副本,一主多从架构。支持高可用切换。 |