zoukankan      html  css  js  c++  java
  • Redis 集群

    当一台Redis服务器的内存存储空间有限的情况下,看可以使用redis集群扩展存储空间

    使用PING-PANG机制,检查节点的健康状态

    所有的redis节点彼此互联

    每个节点中保存的数据不一样,为了保证集群的高可用,数据的完整性,须给每个节点配置从机

    节点是否fail通过投票机制判断:集群中超过半数的节点检测失效时才fail,因此集群中至少有3个节点

    客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

    redis-cluster把 [0-16383] 个 slot(槽)上均匀的分配到集群中的物理节点上,cluster 负责维护 节点 -- 槽 -- 值(Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点

    redis集群的搭建:

    使用ruby脚本搭建集群,需要ruby的运行环境

    待续

    redis集群的连接:

    一定要写 -c 参数,表示连接集群
    集群会自动计算当前key所在的 槽(slot),并且 redirect 到相应的节点并存储
  • 相关阅读:
    实战篇之实现 OutLook 中以 EDM 形式发送通知邮件
    ASP.NET MVC5 之路由器
    ASP.NET MVC5 之数据迁移
    说不出的烦
    ASP.NET MVC5 之 Log4Net 的学习和使用
    读取配置文件参数和文件路径
    序列化和反序列化示例
    面向对象之封装
    面向对象4之常用的乱七八糟
    面向对象三之继承和派生
  • 原文地址:https://www.cnblogs.com/roxy/p/7776728.html
Copyright © 2011-2022 走看看