Redis分片方案概要(Cluster or Codis)
[原创]个人理解,请批判接受,有误请指正。转载请注明出处: https://heyfl.gitee.io/redis/Redis-Partitioning.html
Redis分片方案概要(Cluster or Codis)
客户端分片
- 常见的主要是Memcached
- 通过客户端Hash等方式决定数据要存到哪个节点
服务器端分片
Codis分片方案
- Codis是一整套缓存解决方案,包含高可用、数据分片、监控、管理、动态扩态 etc.
- 走的是 Client->代理->redis,一定规模后基本都采用这种方式
限制
- 批量操作可能受影响:
- 不支持pipeline/watch/scan等批操作
- 不支持事务
- 支持mset/mget
** 另一种分片方案 **
官方Redis Cluster分片方案
- 走的是Client->redis server jump redis server
限制
- 批量操作可能受影响:
- mset/mget/pipeline/watch/scan等批操作需要所有key都存在以同个节点上
- 并且手动分片期间,批操作不可用
- (参考官方文档的Implemented subset)
- 客户端必须支持集群协议
- 不支持事务
Redis分片方案概要(Cluster or Codis)