首页 存档 技术 查看内容

《Redis官方文档》分区

2018-3-30 13:00 |来自: 互联网 279 0

摘要: 架构师(JiaGouX)我们都是架构师! 原文链接:https://github.com/antirez/redis-doc/blob/master/topics/partitioning.md 译文连接:http://ifeve.com/redis-partitioning/译者:Alexandar Mahone 分区:如何把 ...

架构师(JiaGouX)
我们都是架构师!


原文链接:https://github.com/antirez/redis-doc/blob/master/topics/partitioning.md
译文连接:http://ifeve.com/redis-partitioning/
译者:Alexandar Mahone

分区:如何把数据存储到多个Redis实例中

分区就是把你的数据分割到多个Redis实例中的一个过程,因此每个实例仅仅包含部分键。这篇文章第一部分介绍分区概念,第二部分将介绍Redis分区的用法。

(译者注:Redis集群是分区事实上标准)


为什么分区是非常有用的

分区在Redis中主要有两个目的:

  • 分区利用多台机器的内存构建一个更大数据库。如果不使用分区,数据库大小受限于单个计算机内存。

  • 分区可以在多核和多计算机之间弹性扩展计算能力,并且分区可以在多计算机和网络适配器之间弹性扩展网络带宽。

分区基础:

有多种的分区标准。假设我们有4个Redis实例 R0,R1,R2,R3,很多表示用户的键例如 user:1,user:2等等,我们可以找到不同方式选择实例存储指定的键。换句话说有不同的系统映射一个指定的键到一个给定的Redis服务器。

一个最简单的方法是使用范围分区,并且通过映射某一范围的对象到特定的Redis实例。例如,我可以指定ID 0到10000的用户存储到实例R0,而ID 10001到20000的用户存储到实例R2等等。

该方案实际上是可以应用在实践中的,尽管他的缺点是需要一张映射对象范围与实例的表。这张表需要进行维护,并且我们需要为每种类型对象建立一张表,所以范围分区在Redis中常常是不受欢迎的,因为比其他分区方法更低效。

  • 一个范围分区替代方法是哈希分区。此方案适用于任何形式键,无需键格式形如object_name:

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部