redis cluster 集群实现方式 分布式分片存储

redis集群有三种方式,

1,主从模式,即一个master,一个slaver

2,哨兵模式,哨兵模式建立在主从模式基础上,一主多从或多主多从

当主挂了之后,会在从节点里选举一个作为主节点,这个时候redis会有

一个空档期,即不可写入。而且当数据过多,redis压力越大,是全部缓存在各个主从机子上

3,redis cluster 集群模式,官方推荐

建立在主从和哨兵基础上,采用分片规则存入到不同的主从里。如下图

redis cluster 集群实现方式 分布式分片存储

每个cluster是一个哨兵主从,都有自己的分配的槽点,大致是

  • cluster1覆盖1365-5460
  • cluster2覆盖6827-10922
  • cluster3覆盖12288-16383

client 设置key/value的时候,会有一个哈希槽算法:CRC16('key')%16384 = 2412

这样就会保存到cluster1节点,从而实现数据的分片存储。

而且当主节点挂掉之后会选举从节点马上上任主节点

从而实现redis的高可用性。

下面是部署redis cluster的步骤。

1,安装redis。

2,建立对应的文件目录

redis cluster 集群实现方式 分布式分片存储

3,将安装后的redis配置文件redis.conf拷贝到

/usr/local/redis-cluster/conf目录并修改对应文件名

redis cluster 集群实现方式 分布式分片存储

4,修改对应的配置文件

port 6380 # 端口

cluster-enabled yes # 打开
cluster-config-file /usr/local/redis-cluster/conf/nodes-6380.conf
cluster-node-timeout 15000
appendonly yes

5,在/usr/local/redis-cluster/下写启功脚本

path=conf/ cd $path #启动redis redis-server redis-6379.conf redis-server redis-6380.conf redis-server redis-6381.conf redis-server redis-6382.conf redis-server redis-6383.conf redis-server redis-6384.conf # 创建cluster集群 redis-cli --cluster create 192.168.89.132:6379 192.168.89.132:6380 192.168.89.132:6381 192.168.89.132:6382 192.168.89.132:6383 192.168.89.132:6384 --cluster-replicas 1

注意IP不要写127.0.0.1,不然到时候测试的时候,会有问题。

6,启动脚本,出现提示的时候,输入yes,最后提示成功。

redis cluster 集群实现方式 分布式分片存储

查看主从节点情况 redis-cli -p 6379 cluster nodes

redis cluster 集群实现方式 分布式分片存储

写测试端测试 我用的是springboot,引入别人写的包https://github.com/niuzhiweimr/redis-spring-boot-starter

测试情况如下图:

1,set10个键值对到redis,成功

redis cluster 集群实现方式 分布式分片存储

2,查看数据已经存储到对应的redis cluster中

redis cluster 集群实现方式 分布式分片存储

大概这样就可以实现了redis的集群和分布式分片存储数据,不懂可以提问,大家一起学习

原文链接:https://blog.csdn.net/shrek11/article/details/103187258

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/16929

(0)
上一篇 2022年11月16日
下一篇 2022年11月16日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml