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 4dcaa87 commit cacb49cCopy full SHA for cacb49c
MD/数据库-Redis.md
@@ -54,16 +54,18 @@ redis主从或哨兵模式的每个实例都是全量存储所有数据,浪费
54
缺点:缓存数据不是最新的;【缓存击穿】;【缓存失效】
55
56
### 直写
57
-读:同延迟加载
+读:当读请求到来时,先从缓存读,如果读不到就从数据库读,读完之后同步到缓存且设置为永不过期
58
写:当写请求到来时,先写数据库然后同步到缓存,设置为永不过期
59
60
-优点:缓存数据永不过时且为最新,无需担心缓存击穿、失效问题,编码方便
+优点:缓存数据是最新的,无需担心缓存击穿、失效问题,编码方便
61
缺点:大量数据可能没有被读取的资源浪费;节点故障或重启会导致缓存数据的丢失直到有写操作同步到缓存;每次写入都需要写缓存导致的性能损失
62
63
+永不过期的缓存会大量占用空间,可以设置过期时间来改进,但是会引进【缓存失效】问题,需要注意解决
64
+
65
### 如何选择
66
如果需要缓存与数据库数据保持实时一致,则需要选择直写方式
67
如果缓存服务很稳定、缓存的可用空间大、写缓存的性能丢失能够接受,选择直写方式比较方便实现
-否则选择延迟加载,同时注意编码解决延迟加载的缺点
68
+否则选择延迟加载,同时注意解决引进的问题
69
70
## 缓存问题
71
### 缓存击穿
0 commit comments