Codis与Redis Cluster集群方案对比
|
Codis |
Redis Cluster |
数据库数量 |
16 |
1 |
客户端支持 |
All |
Smart Client |
Redis版本 |
3.2.8分支开发 |
5.0.3 |
不支持的命令 |
KEYS等 |
SELECT、跨节点multi-key命令 |
Dashboard |
有 |
无 |
可视化客户端 |
无 |
有 |
集群结构 |
代理 类中心化架构 集群管理层与存储层解耦 |
P2P模型 Gossip协议 去中心化 |
哈希槽 |
1024 |
16384 |
pipeline |
支持 |
不支持 |
重新分片时multi-key操作 |
支持 |
不支持 |
主从复制 |
不负责 |
负责 |
可靠 |
经过线上服务验证,可靠性较高 |
新推出,坑会比较多,遇到bug之后需要等官网升级 |
升级 |
后续升级无法保证 |
Redis官方推出,后续升级可保证 |
部署 |
较复杂 |
简单 |
通过以上表格对比,发现Codis和Redis Cluster各有特点,可以根据项目实际需要进行选择。
选择Redis Cluster的场景:
- 需要redis的新特性,例如:Stream
- 需要更丰富的命令支持
- 资源紧张
选择Codis的场景:
- Codis支持的命令可满足需求
- 资源充裕
- 强调可靠性