zoukankan      html  css  js  c++  java
  • Redis 高级教程 Redis 分区(6)

    分区是一种将数据分成多个 Redis 的情况下,让每一个实例将只包含关键字的自己的过程。

    分区的好处

    • 它允许更大的数据库,使用的堕胎计算机的内存的综合。如果不分区,一台计算机有限的内存可以支持有限的数量。
    • 它允许以大规模的计算能力,以多个内核和多个计算机,以及网络带宽向堕胎计算机和网络适配器在一起使用。

    分区的确定

    • 通常不支持涉及多个按键的操作。例如,不能两个集合之间执行交叉点,如果它们被存储在被映射到不同的 Redis 实例中的键。
    • 涉及多个键的 Redis 事务不能被使用。
    • 分区粒度是键,所以它不可能将分片数据集用一个硕大的键在一个非常大的有序集合。
    • 当分区时,数据处理比较复杂,比如要处理多个 RDB/AOF 文件,使数据备份,需要从多个实例和主机聚集持久性文件。
    • 添加和删除的能力可能很复杂。比如 Redis 集群支持有加,并在运行时删除节点不支持此功能的能力,但其他系统,如客户端的分区和代理的数据大多是透明平衡。有一个叫 Presharding 技术有助于解决这方面的问题。

    分区的类型

    redis 提供两种类型的分区。假设我们有四个 Redis 实例 R0,R1,R2,R3 和代表用户喜欢的用户很多键:user:1,user:2,...等等

    范围分区

    范围分区被映射对象转化为具体的 Redis 实例的范围内实现。假定在本例中用户 ID0~ID10000 将进入实例 R0,而用户形成 ID10001至20000号将进入实例R1等等。

    散列分区

    在这种类型的分区,一个散列函数(例如,莫属函数)被用于转换键成数字,然后数据被存储在不同地方-它们是不同 Redis 的实例。

  • 相关阅读:
    支付宝支付-扫码支付
    安装agent
    设置微服务环境变量脚本
    曹工说Spring Boot源码(23)-- ASM又立功了,Spring原来是这么递归获取注解的元注解的
    matlab文件拷贝
    hive优化之调整mapreduce数目
    软件测试面试题
    wtforms第三方校验库
    flask貌似可以学习和参考的网站
    flask 接受(获取)url 请求的参数 的方法 和 表单 post过来的数据
  • 原文地址:https://www.cnblogs.com/wangjp/p/6023064.html
Copyright © 2011-2022 走看看