Skip to content

Commit 2a4f0c7

Browse files
authored
Update 数据库-Redis.md
1 parent 05157c1 commit 2a4f0c7

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

MD/数据库-Redis.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,16 @@ redis主从或哨兵模式的每个实例都是全量存储所有数据,浪费
5454
缺点:缓存数据不是最新的;【缓存击穿】;【缓存失效】
5555

5656
### 直写
57-
读:当读请求到来时,只从缓存读
57+
读:同延迟加载
5858
写:当写请求到来时,先写数据库然后同步到缓存,设置为永不过期
5959

60-
优点:缓存数据永不过时且为最新
61-
缺点:每次写入都需要写缓存导致的性能损失;重启节点或故障会导致缓存数据的丢失直到有写操作同步到缓存;大量数据可能没有被读取的资源浪费
60+
优点:缓存数据永不过时且为最新,无需担心缓存击穿、失效问题,编码方便
61+
缺点:大量数据可能没有被读取的资源浪费;节点故障或重启会导致缓存数据的丢失直到有写操作同步到缓存;每次写入都需要写缓存导致的性能损失
62+
63+
### 如何选择
64+
如果需要缓存与数据库数据保持实时一致,则需要选择直写方式
65+
如果缓存服务很稳定、缓存的可用空间大、写缓存的性能丢失能够接受,选择直写方式比较方便实现
66+
否则选择延迟加载,同时注意编码解决延迟加载的缺点
6267

6368
## 缓存问题
6469
### 缓存击穿

0 commit comments

Comments
 (0)