Redis集群

一、是什么

 Redis集群实现了对redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点占存储总数的1/N。

二、搭建集群

 搭建一个三主三从的redis集群,在一台服务器上模拟。该操作在Reids的主从复制基础上进行。

  1. 先删除之前的dump文件
    在这里插入图片描述
  2. 修改配置文件
    在这里插入图片描述
  3. 删除6380、6381配置文件,复制5份6379文件,模拟五台redis。
    在这里插入图片描述
  4. 修改配置文件,将端口号改为文件名端口号
    在这里插入图片描述
  5. 启动6个redis服务,生成以下6个配置文件
    在这里插入图片描述
  6. 将6个节点合成一个集群,我这里使用的是redis6版本,不需要装环境,在redis的src目录下执行命令:redis-cli --cluster create --cluster-replicas 1 121.43.147.238:6379 121.43.147.238:6380 121.43.147.238:6381 121.43.147.238:6389 121.43.147.238:6390 121.43.147.238:6391,注意这里的IP要用实际IP,不能写127.0.0.1,还需要注意的是,如果使用的是阿里云服务器,这个ip应该是内网IP,ifconfig -a可以查看
    在这里插入图片描述
    可以看到,6379、6380、6381为主机,输入yes,集群成功
  7. 测试,成功
    在这里插入图片描述

三、插槽

 在集群成功后,会有一段数据16384 slots covered代表共有16384个插槽,根据测试结果来看,6379主机使用0-5460插槽,6380使用5461-10922插槽,6381使用10923-16383插槽。在存入数据的时候,集群使用公式来计算键key属于哪个插槽,这样可以平均分为键值对。

  1. 添加值:在添加的时候会自动计算插槽的值,插入到指定的服务器中
    在这里插入图片描述
    在添加多个值的时候,由于每个值的插槽不在同一台redis中,因此会无法添加,但是可以通过{}来定义组的概念,从而是key中{}内相同的内容放到一个插槽中。
    在这里插入图片描述

  2. 常用命令
    cluster keyslot key 计算键的插槽
    在这里插入图片描述
    cluster countkeysinslot num计算插槽中键的数量,注意:只能计算自己所拥有的插槽中的数量。
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值