云数据库 Redis 内存版(集群架构)是腾讯云基于社区版 Redis Cluster 打造的全新版本,兼容Redis 4.0 和 Redis 5.0 版本命令,采用分布式架构,支持分片和副本的扩缩容,拥有高度的灵活性、可用性和高达千万级 QPS 的高性能。Redis 内存版(集群架构)支持1分片 - 128分片的水平方向扩展,1个 - 5个副本集的副本扩展,扩容、缩容、迁移过程业务几乎无感知,做到最大的系统可用性。
主从高可用场景
选择单个节点并为节点选择1个副本集,从而达到主从高可用,提供双机热备,故障自动切换的能力,保证 Redis 服务的高可靠和高可用。
读写分离场景
节点副本数大于等于1,可开启云数据库 Redis 自动读写分离能力,提供单节点读性能扩充,最大支持5个副本集,支持配置主节点以及各副本节点的读访问权重。
多分片高性能场景
内存版(集群架构)自动启动分片模式,通过将不同的 Key 分配到多个节点达到水平扩充系统性能的能力。
灵活性
内存版(集群架构)支持最小1个节点到最大128个节点的水平扩容和缩容,支持1个副本集到5个副本集的副本扩容和缩容,通过实例的调整支持多种应用场景。
可用性
内存版(集群架构)的分片数量和副本数量的扩容、缩容对业务完全无感知,做到高度的系统可用性。
兼容性
内存版(集群架构)在应用场景中,支持社区版原生 Cluster 的使用场景,兼容 Jedis 等智能客户端使用场景,兼容 Codis 使用场景。
可运维
内存版(集群架构)将最大程度的开放系统的能力,提供分片级的监控和管理,分片数据迁移和均衡,以及大 Key 监控、热 Key 监控的高级功能,做到系统完整的可管理,可运维。
内存版(集群架构)数据是分布式存储的,和标准架构命令支持的最大差异在于单个命令是否支持多 Key 访问,集群架构命令支持情况分为支持、自定义命令、不支持,详细命令兼容性列表请参见 命令兼容性。
系统将返回如下错误:
keys *
(error) ERR unknown command 'keys'
内存版(集群架构)兼容 Jedis Cluster 等智能客户端,为兼容 Jedis Cluster 的使用场景,云数据库 Redis 对 Cluster 支持命令返回对 IP 列表进行了修改,返回信息中每个节点的 IP 地址为实例的 VIP。
内存版(集群架构)目前支持跨 Slot 访问的命令,包括 MGET、MSET、DEL,其他多 KEY 命令的跨 Slot 访问暂不支持。
内存版(集群架构)通过 VIP 封装,在集群模式下提供了单机版的使用体验,对业务的使用带来极大的便利,但是对运维不够透明,因此通过自定义命令来弥补这块空缺,支持集群中每个节点的访问,支持方式为在原有命令的参数列表最右边新增一个参数【节点ID】,COMMAND arg1 arg2 ... [节点ID],节点 ID 可通过 cluster nodes 命令,或者在控制台中获取:
10.1.1.1:2000> cluster nodes
25b21f1836026bd49c52b2d10e09fbf8c6aa1fdc 10.0.0.15:6379@11896 slave 36034e645951464098f40d339386e9d51a9d7e77 0 1531471918205 1 connected
da6041781b5d7fe21404811d430cdffea2bf84de 10.0.0.15:6379@11170 master - 0 1531471916000 2 connected 10923-16383
36034e645951464098f40d339386e9d51a9d7e77 10.0.0.15:6379@11541 myself,master - 0 1531471915000 1 connected 0-5460
53f552fd8e43112ae68b10dada69d3af77c33649 10.0.0.15:6379@11681 slave da6041781b5d7fe21404811d430cdffea2bf84de 0 1531471917204 3 connected
18090a0e57cf359f9f8c8c516aa62a811c0f0f0a 10.0.0.15:6379@11428 slave ef3cf5e20e1a7cf5f9cc259ed488c82c4aa17171 0 1531471917000 2 connected
ef3cf5e20e1a7cf5f9cc259ed488c82c4aa17171 10.0.0.15:6379@11324 master - 0 1531471916204 0 connected 5461-10922
原生命令:
info server
自定义命令:
info server ef3cf5e20e1a7cf5f9cc259ed488c82c4aa17171
SCAN 命令示例:
scan 0 238b45926a528c85f40ae89d6779c802eaa394a2
scan 0 match a* 238b45926a528c85f40ae89d6779c802eaa394a2
KEYS 命令示例:
keys a* 238b45926a528c85f40ae89d6779c802eaa394a2
自定义命令列表:
内存版(集群架构)支持事务相关的命令,但是事务必须以 WATCH 命令开始,事务中的 KEY 要求存储在相同的 SLOT 中,WATCH 的 KEY 需要和事务相关的 KEY 保持在同一 SLOT,集群模式下的多 KEY 事务使用建议使用 HashTag。
内存版(集群架构)支持多 DB,默认支持256个 DB 数目,因此 DB 操作相关的命令都支持。
本页内容是否解决了您的问题?