Skip to content

Commit cacb49c

Browse files
authored
Update 数据库-Redis.md
1 parent 4dcaa87 commit cacb49c

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

MD/数据库-Redis.md

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

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

60-
优点:缓存数据永不过时且为最新,无需担心缓存击穿、失效问题,编码方便
60+
优点:缓存数据是最新的,无需担心缓存击穿、失效问题,编码方便
6161
缺点:大量数据可能没有被读取的资源浪费;节点故障或重启会导致缓存数据的丢失直到有写操作同步到缓存;每次写入都需要写缓存导致的性能损失
6262

63+
永不过期的缓存会大量占用空间,可以设置过期时间来改进,但是会引进【缓存失效】问题,需要注意解决
64+
6365
### 如何选择
6466
如果需要缓存与数据库数据保持实时一致,则需要选择直写方式
6567
如果缓存服务很稳定、缓存的可用空间大、写缓存的性能丢失能够接受,选择直写方式比较方便实现
66-
否则选择延迟加载,同时注意编码解决延迟加载的缺点
68+
否则选择延迟加载,同时注意解决引进的问题
6769

6870
## 缓存问题
6971
### 缓存击穿

0 commit comments

Comments
 (0)