Redis---分片

12.分片

  分片是将数据划分为多个部分的方法,可以将数据存储到多台机器里面,这种方法在解决某些问题时可以获得线性级别的性能提升。

  假设有4个Redis实例R0,R1,R2,R3,还有很多表示用户的键user:1,user:2,.....有不同的方式来选择一个指定的键存储在哪个实例。

  • 最简单的方式是范围分片,例如用户id从0-1000的存储到实例R0,用户id从1001-2000的存储到实例R1等等。但是这样需要维护一张映射范围表,维护的代价很高。
  • 还有一种方式是哈希分片,使用哈希函数将键转换成一个数字,再对实例数量求模就能知道应该存储的实例

  执行分片的位置,可以分为三种分片方式:

  • 客户端分片:客户端使用一致性哈希等算法决定键应该分布到哪个节点。
  • 代理分片:将客户端请求发送到代理上,由代理转发请求到正确的节点上。
  • 服务器分片:Redis Cluster。
posted @ 2019-07-04 21:54  yjxyy  阅读(213)  评论(0编辑  收藏  举报