使用Redis分区将数据分割到多个Redis实例

分区是将所有的数据分割到多个Redis实例的过程,所以每个Redis实例存放的是所有键值的子集。

Redis分区主要有两个目标:

1)允许使用多台计算机的内存来存放更大的数据。如果不做分区的话,单台计算机的内存又限制。

2)使用多台计算的计算能力和网络带宽

有许多不同的分区场景,假设有4个Redis实例R0,R1,R2,R3,有很多表示用户的键值比如user:1,user:2,user:3....。有很多方法使指定的键值映射到指定的Redis实例上。

其中一种分区方法就是range partitioning,就是根据对象的范围映射到特定的Redis实例上,比如用户的ID从0到10000存储到R0上,ID从10001到20000存储到R1上。但是这种分区方法有个不利条件就是需要维护一个键值范围到后端Redis实例的范围表。这张表需要维护并且每种对象都需要一张这种表。因此,这种分区方式常常不是理想的分区方式。

另外一种分区方式就是hash partitioning.这种分区模式对于任何键值都有效。很多Redis客户端程序和代理工具支持的一种高级hash partitioning就是consistent hashing。

不同的Redis分区实现方式:

Client side partitioning

Proxy assisted partitioning

Query routing

参考资料:http://redis.io/topics/partitioning

Ubuntu 14.04下Redis安装及简单测试 http://www.linuxidc.com/Linux/2014-05/101544.htm

Redis集群明细文档 http://www.linuxidc.com/Linux/2013-09/90118.htm

Ubuntu 12.10下安装Redis(图文详解)+ Jedis连接Redis http://www.linuxidc.com/Linux/2013-06/85816.htm

Redis系列-安装部署维护篇 http://www.linuxidc.com/Linux/2012-12/75627.htm

CentOS 6.3安装Redis http://www.linuxidc.com/Linux/2012-12/75314.htm

Redis安装部署学习笔记 http://www.linuxidc.com/Linux/2014-07/104306.htm

Redis配置文件redis.conf 详解 http://www.linuxidc.com/Linux/2013-11/92524.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值