更新时间:2022-04-20 GMT+08:00
分享

Redis实例类型差异

Redis单机/主备、Proxy集群和Cluster集群实例,在特性支持、特性限制以及命令限制有部分差异,具体请查看表1

DCS Redis 3.0已下线,暂停售卖,建议使用Redis 4.0/5.0。

表1 单机/主备、Proxy集群和Cluster集群的差异说明

对比项

单机/主备

Proxy集群

Cluster集群

兼容Redis版本

兼容社区Redis 3.0、4.0、5.0。

Redis 6.0兼容社区KeyDB(当前只支持主备实例)。

可在购买实例时选择版本号。

兼容社区3.0、4.0和5.0版本。

兼容开源社区4.0/5.0版本。

可在购买集群实例时选择版本号。

特性支持

  • 支持event notify。
  • 支持pipeline。
  • 支持pipeline、mset、mget。
  • 支持scan、keys、slowlog。
  • 支持发布订阅。
  • 支持event notify。
  • 支持brpop、blpop、brpoplpush。
  • 支持发布订阅。

特性限制

单机不支持持久化。

  • lua脚本受限使用,所有的key必须在同一个slot,否则会报错,建议使用hashtag技术。
  • 多个key的命令中,所有key必须属于同一个slot,否则会报错,建议使用hashtag技术。
  • 不支持event notify用法。
  • lua脚本受限使用,所有的key必须在同一个slot,建议使用hashtag技术。
  • 需要客户端SDK支持redis cluster协议,需要能够处理"-MOVED"响应。
  • 使用pipeline、mset/mget模式时,所有key必须属于同一个slot,否则报错,建议使用hashtag技术。
  • 使用event notify时,需要建立与每个redis-server的连接,分别处理每个连接上的事件。
  • 执行scan、keys等遍历类或者全局类命令时,需要对每个redis-server分别执行该命令。

客户端协议

使用传统Redis客户端即可。

使用传统Redis客户端即可,不需要支持Redis Cluster协议。

需要客户端支持Redis Cluster协议。

命令限制

单机和主备实例不支持的Redis命令,请参考表 Redis3.0单机和主备实例禁用命令表 Redis4.0单机和主备禁用命令表 Redis 5.0单机和主备禁用命令

Proxy集群实例不支持的Redis命令,请参考表 Redis3.0 Proxy集群实例禁用命令

Cluster集群不支持的Redis命令,请参考表 Redis4.0 Cluster集群禁用命令表 Redis5.0 Cluster集群禁用命令

副本数

单机实例为单副本,只有一个节点。

主备实例为双副本,目前Redis 3.0、Redis 6.0主备不支持自定义副本数,默认为一主一从的架构。在创建Redis 4.0、5.0主备实例时,支持自定义副本数,形成一主多从的架构。

每个集群分片都为双副本,但不支持为分片新增副本,每个分片是一主一从的架构。

每个集群分片默认为双副本,支持自定义副本数,可以是一主多从的架构。在创建实例时,也可以定义为单副本,单副本表示实例只有主节点,无法保障数据高可靠。

分享:

    相关文档

    相关产品

close