We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 05157c1 commit 2a4f0c7Copy full SHA for 2a4f0c7
MD/数据库-Redis.md
@@ -54,11 +54,16 @@ redis主从或哨兵模式的每个实例都是全量存储所有数据,浪费
54
缺点:缓存数据不是最新的;【缓存击穿】;【缓存失效】
55
56
### 直写
57
-读:当读请求到来时,只从缓存读
+读:同延迟加载
58
写:当写请求到来时,先写数据库然后同步到缓存,设置为永不过期
59
60
-优点:缓存数据永不过时且为最新
61
-缺点:每次写入都需要写缓存导致的性能损失;重启节点或故障会导致缓存数据的丢失直到有写操作同步到缓存;大量数据可能没有被读取的资源浪费
+优点:缓存数据永不过时且为最新,无需担心缓存击穿、失效问题,编码方便
+缺点:大量数据可能没有被读取的资源浪费;节点故障或重启会导致缓存数据的丢失直到有写操作同步到缓存;每次写入都需要写缓存导致的性能损失
62
+
63
+### 如何选择
64
+如果需要缓存与数据库数据保持实时一致,则需要选择直写方式
65
+如果缓存服务很稳定、缓存的可用空间大、写缓存的性能丢失能够接受,选择直写方式比较方便实现
66
+否则选择延迟加载,同时注意编码解决延迟加载的缺点
67
68
## 缓存问题
69
### 缓存击穿
0 commit comments