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支持的命令可满足需求
- 资源充裕
- 强调可靠性