![](https://img-blog.csdnimg.cn/img_convert/ca7c8d45bc71d8351a0edf2ff84193b4.webp?x-oss-process=image/format,png)
Redis高性能缓存架构设计
1.架构设计
由于redis是单点,项目中需要使用,必须自己实现分布式。基本架构图如下所示:
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=%2F%2Fupload-images.jianshu.io%2Fupload_images%2F13372770-7aacc0dfc9062ec4.png%3FimageMogr2%2Fauto-orient%2Fstrip%7CimageView2%2F2%2Fw%2F725%2Fformat%2Fwebp&pos_id=img-FzewZyvQ-1714946641789)
2.分布式实现
通过key做一致性哈希,实现key对应redis结点的分布。
一致性哈希的实现:
hash值计算:通过支持MD5与MurmurHash两种计算方式,默认是采用MurmurHash,高效的hash计算。
一致性的实现:通过java的TreeMap来模拟环状结构,实现均匀分布
3.client的选择
对于jedis修改的主要是分区模块的修改,使其支持了跟据BufferKey进行分区,跟据不同的redis结点信息,可以初始化不同的Shard