分区是将所有的数据分割到多个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

转载于:https://blog.51cto.com/john88wang/1622808

使用Redis分区将数据分割到多个Redis实例相关推荐

  1. redis和sqlserver数据同步_SQLServer数据库之redis数据库的数据导入到SQLServer数据库中...

    本文主要向大家介绍了SQLServer数据库之redis数据库的数据导入到SQLServer数据库中,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. #!/usr/bin/ ...

  2. redis清空所有数据 php

    在不影响性能的情况下,怎么快速批量删除redis数据 Redis在分布式应用中占据着越来越重要的地位,短短的几万行代码,实现了一个高性能的数据存储服务.最近dump中心的cm8集群出现过几次redis ...

  3. 【Redis】03-Redis 数据持久化实践

    简介 背景 Redis之所以这么流行,很大一部分原因便是持久化,断电重启数据不消失,使得redis在数据库领域中站稳了脚. Redis是一种内存数据库,在断电时数据可能会丢失.比如你Redis整个挂了 ...

  4. Redis分区/分片详解

    分区/分片详解 分区是分割数据到多个Redis实例的处理过程,因此每个实例只保存key的一个子集. 如果只使用一个redis实例时,其中保存了服务器中全部的缓存数据,这样会有很大风险,如果单台redi ...

  5. redis分区(分片)原理

    redis相关文章 ----redis原理概述 -----redis集群方案 ----redis分区(分片)原理 ----Redis实现分布式锁 ----redis缓存穿透.雪崩和解决方案 分区的概念 ...

  6. 大规模数据库的性能改善方法之一 数据分割

    大规模数据库的性能改善方法之一 数据分割 http://blog.sina.com.cn/s/blog_803d9ba90100xg25.html 1.引言 随着计算机应用领域的拓展和计算机硬件性能的 ...

  7. Redis 高级教程 Redis 分区(6)

    分区是一种将数据分成多个 Redis 的情况下,让每一个实例将只包含关键字的自己的过程. 分区的好处 它允许更大的数据库,使用的堕胎计算机的内存的综合.如果不分区,一台计算机有限的内存可以支持有限的数 ...

  8. 怎么查询redis缓存的数据_阿里开发十年写出这份「Redis简明教程」+「Redis实战」请你查收...

    Redis是啥?用Redis官方的话来说就是: Redis is an open source (BSD licensed), in-memory data structure store, used ...

  9. redis 槽点重新分配 集群_弄懂一致性哈希后我打通了redis分区集群的原理

    上午刚写完一篇关于一致性hash思想的举一反三,下午就去看redis的官方文档,就在我看到redis分区集群的原理的时候,哇那真是茅塞顿开把我多年对redis的疑惑都解开了,它分区的思想不就是我上篇文 ...

最新文章

  1. c#_未将对象引用设置到对象的实例
  2. NASA的10条代码编写原则
  3. 【BZOJ5005】乒乓游戏 [线段树][并查集]
  4. android项目中导入actionbarsherlock 需要注意的地方
  5. linux 跟踪程序读写,Linux中pthread行为的跟踪和可视化工具
  6. 语文学科html代码,[2018年最新整理]学科分类与代码.doc
  7. Cadence Allegro 技巧实战视频之PCB封装库路径设置
  8. WindowsX64下tftp的安装
  9. DRP:分销链上的精灵(转)
  10. TCP协议——SYN/ACK的使用以及滑动窗口机制
  11. python常用方法技巧使用总结
  12. android 手机内存64实际不到,手机拥有64G,为何用了不到1G,就显示内存不足?是谁在搞鬼?...
  13. 逼自己养成成长型思维模式
  14. 基于java的宠物管理系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
  15. C语言动态规划和文件操作练习——通讯录
  16. 博文第二天,一切刚刚开始
  17. 冀教版五年级计算机教学计划,冀教版信息技术五年级下册教学计划.pdf
  18. k8s tfjob批调度-volcano调研
  19. (83)Part21-阿里云VOD-03-视频播放测试
  20. mysql第120页第6题_2018年整理六年级总复习数学应用题大全(答案附后)

热门文章

  1. jquery实现开关灯
  2. 关于代理服务器藏IP的一些问题(高手免看)
  3. PHP eval函数
  4. python基础-模块导入
  5. JS获取客户端IP地址、MAC和主机名的7个方法汇总
  6. Stucts应用引起的OutOfMemoryError
  7. iOS设备中垂直同步开启后的帧率计数
  8. 【爱上Java8】BigInteger在Java8中的改进
  9. Android学习笔记21:ImageView获取网络图片
  10. 简单做了一个sina微博的MVC第三方登陆