zoukankan      html  css  js  c++  java
  • redis的集群

    一. 集群

      1. 集群的概念

        集群由多个节点(Node)组成,Redis的数据分布在这些节点中。

        集群中的节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。

      2. 集群的作用

        数据分区:数据分区(或称数据分片)是集群最核心的功能。

      3. 数据分区的方法

        - 哈希取余分区

        - 一致性哈希分区

        - 带虚拟节点的一致性哈希分区

          虚拟槽分区巧妙地使用了哈希空间,使用分散度良好的哈希函数把所有的数据映射到一个固定范围内的整数集合,整数定义为槽

          redis-cluster集群的槽的范围为 0~16383

    二. 通过Ruby脚本, 搭建集群

      1. 安装ruby环境并安装redis-trib.rb脚本

        https://www.cnblogs.com/q767498226/p/10704784.html

      2. 配置redis-cluster

    port 7000
    daemonize yes
    dir "/opt/redis/data"
    logfile "7000.log"
    dbfilename "dump-7000.rdb"
    cluster-enabled yes   #开启集群模式
    cluster-config-file nodes-7000.conf  #集群内部的配置文件
    cluster-require-full-coverage no  #redis cluster需要16384个slot都正常的时候才能对外提供服务,换句话说,只要任何一个slot异常那么整个cluster不对外提供服务。 因此生产环境一般为no
    
    # 配置6个这样文件, 区分端口即可
    # 启动redis

      3. 一键开启redis-cluster集群  

        redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

        --replicas=1表示每个主节点有1个从节点;后面的多个{ip:port}表示节点地址,前面的做主节点,后面的做从节点。使用redis-trib.rb搭建集群时,要求节点不能包含任何槽和数据。

      4. 查看集群状态

        redis-cli -p 7000 cluster info

        

  • 相关阅读:
    JQuery第一部分
    linq高级查与分页
    怎么修改数据库信息例子
    怎样连接客户端和操作数据库
    php数组的合并与方法
    php函数与数组
    php变量类型,运算符与表达式
    php正则表达式
    数组和字符串的几种常见替代方法
    php变量,类型和表达式
  • 原文地址:https://www.cnblogs.com/q767498226/p/11110416.html
Copyright © 2011-2022 走看看