redis远程主机强迫关闭了一个现有连接_Redis——集群部署

本文详细介绍了如何搭建Redis集群,包括创建集群目录、配置Redis实例、启动服务和创建集群。此外,还讨论了Redis集群的工作原理,如slot分布和故障检测机制,以及如何查看集群状态和数据一致性。最后,通过实际操作演示了在测试环境中成功搭建Redis集群的过程。
摘要由CSDN通过智能技术生成

Redis是现在最受欢迎的NoSQL数据库之一,使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库(与map储存形式相同,一个键(key)对应一个值(value))。

redis集群采用P2P模式,是完全去中心化的,不存在中心节点或者代理节点。

redis集群是没有统一的入口的,客户端(client)连接集群的时候连接集群中的任意节点(node)即可,集群内部的节点是相互通信的(PING-PONG机制),每个节点都是一个redis实例;

为了实现集群的高可用,即判断节点是否健康(能否正常使用),redis-cluster有一个投票容错机制:如果集群中超过半数的节点投票认为某个节点挂了,那么这个节点就挂了(fail)。这是判断节点是否挂了的方法;那么如何判断集群是否挂了呢? -> 如果集群中任意一个节点挂了,而且该节点没有从节点(备份节点),那么这个集群就挂了。这是判断集群是否挂了的方法。

那么为什么任意一个节点挂了(没有从节点)这个集群就挂了呢?-> 因为集群内置了16384个slot(哈希槽),并且把所有的物理节点映射到了这16384[0-16383]个slot上,或者说把这些slot均等的分配给了各个节点。当需要在Redis集群存放一个数据(key-value)时,redis会先对这个key进行crc16算法,然后得到一个结果。再把这个结果对16384进行求余,这个余数会对应[0-16383]其中一个槽,进而决定key-value存储到哪个节点中。所以一旦某个节点挂了,该节点对应的slot就无法使用,那么就会导致集群无法正常工作。每个Redis集群理论上最多可以有16384个节点。

那我们为什么需要搭建redis集群呢?

Redis是一个很好的Cache工具,使用Redis只需要把热门数据或者常用数据保存在内存中而不是存储在数据库,这样可以缓解数据库压力,同时也能够加快网络请求的响应速度。在很多大型网站应用中,热点数据量往往巨大,由于内存大小的限制,使用一台 Redis 实例显然无法满足需求,这时就需要使用多台 Redis作为缓存数据库。但是如何保证数据存储的一致性呢?这时就可以使用redis集群,采用合理的机制,保证用户的正常的访问需求。采用redis集群。可以保证数据分散存储并且保证数据存储的一致性。

注意:redis3.0版本之前只支持单例模式,在3.0版本及以后才支持集群,我这里用的是redis5.0.5版本;

35b80959fbfbdf5083a83a35047ff23c.png

搭建集群(在这里只是测试,如果是部署生产环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值