From 7108fceae6c4aa3d057548ecab838576efd2df09 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Fri, 23 Oct 2026 04:39:21 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E7=BC=93=E5=AD=98.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- notes/缓存.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/notes/缓存.md b/notes/缓存.md index d764eb08..eb293c3c 100644 --- a/notes/缓存.md +++ b/notes/缓存.md @@ -154,7 +154,7 @@ CDN 主要有以下优点: 哈希分布就是将数据计算哈希值之后,按照哈希值分配到不同的节点上。例如有 N 个节点,数据的主键为 key,则将该数据分配的节点序号为:hash(key)%N。 -传统的哈希分布算法存在一个问题:当节点数量变化时,也就是 N 值变化,那么几乎所有的数据都需要重新分布,将导致大量的数据迁移。 +传统的哈希分布算法存在一个问题:当节点数量变化时,也就是 N 值变化,那么几乎所有的数据都需要重新分布,将导致大量的数据迁移。另外哈希打乱了数据的顺序,不能高效地进行范围查询。 ### 顺序分布 @@ -165,9 +165,11 @@ CDN 主要有以下优点: - 能保持数据原有的顺序; - 并且能够准确控制每台服务器存储的数据量,从而使得存储空间的利用率最大。 +缺点是容易产生热点,例如按时间分布时,写入都集中在最新的节点上。 + ## 六、一致性哈希 -一致性哈希(Consistent Hashing)是一种哈希分布方式,其目的是为了克服传统哈希分布在服务器节点数量变化时大量数据迁移的问题。 +一致性哈希(Consistent Hashing)是一种哈希分布方式,其目的是为了克服传统哈希分布在服务器节点数量变化时大量数据迁移的问题。这里的“一致性”和副本一致性、ACID 一致性没有关系,只是指节点变化时键尽量留在原来的节点上。 ### 基本原理 @@ -327,6 +329,7 @@ public class LRU implements Iterable { ## 参考资料 - 大规模分布式存储系统 +- [Designing Data-Intensive Applications 中文版](https://github.com/vonng/ddia) - [缓存那些事](https://tech.meituan.com/cache_about.html) - [一致性哈希算法](https://my.oschina.net/jayhu/blog/732849) - [内容分发网络](https://zh.wikipedia.org/wiki/%E5%85%A7%E5%AE%B9%E5%82%B3%E9%81%9E%E7%B6%B2%E8%B7%AF)