redis 集群与分区学习

本文详细介绍了Redis的分区意义及多种分区方式,包括范围分区、Hash分区(普通Hash与一致性Hash)以及客户端和proxy端分区。重点讨论了一致性Hash的优缺点,并提到了官方的cluster分区方案,强调了其在数据分布和故障转移上的特点。
摘要由CSDN通过智能技术生成

分区的意义

  • 性能的提升
    单机Redis的网络I/O能力和计算资源是有限的,将请求分散到多台机器,充分利用多台机器的计算能力可网络带宽,有助于提高Redis总体的服务能力。

  • 存储能力的横向扩展
    即使Redis的服务能力能够满足应用需求,但是随着存储数据的增加,单台机器受限于机器本身的存储容量,将数据分散到多台机器上存储使得Redis服务可以横向扩展。

分区的方式

1. 范围分区

根据分区键(id)进行分区:根据id数字的范围比如1–10000、100001–20000…90001-100000,每个范围分到不同的Redis实例
中。
在这里插入图片描述
好处:
实现简单,方便迁移和扩展

缺陷:
热点数据分布不均,性能损失
非数字型key,比如uuid无法使用(可采用雪花算法替代)

2. hash分区

利用简单的hash算法即可:
Redis实例=hash(key)%N,key:要进行分区的键,比如user_id,N:Redis实例个数(Redis主机)

好处:
支持任何类型的key,热点分布较均匀,性能较好

缺陷:
迁移复杂,需要重新计算&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值