Commit a0ba193 1 parent f2ff39a commit a0ba193 Copy full SHA for a0ba193
File tree 1 file changed +9
-1
lines changed
1 file changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -277,7 +277,15 @@ Redis 通过 MULTI、EXEC、WATCH 等命令来实现事务(transaction)功能。
277
277
278
278
** 什么是缓存穿透?**
279
279
280
- 缓存穿透说简单点就是大量请求的 key 根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这一层。举个例子:某个黑客故意制造我们缓存中不存在的 key 发起大量请求,导致大量请求落到数据库。
280
+ 缓存穿透说简单点就是大量请求的 key 根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这一层。举个例子:某个黑客故意制造我们缓存中不存在的 key 发起大量请求,导致大量请求落到数据库。下面用图片展示一下(这两张图片不是我画的,为了省事直接在网上找的,这里说明一下):
281
+
282
+ ** 正常缓存处理流程:**
283
+
284
+ <img src =" https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-11/正常缓存处理流程-redis.png " style =" zoom :50% ;" />
285
+
286
+ ** 缓存穿透情况处理流程:**
287
+
288
+ <img src =" https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-11/缓存穿透处理流程-redis.png " style =" zoom :50% ;" />
281
289
282
290
一般MySQL 默认的最大连接数在 150 左右,这个可以通过 ` show variables like '%max_connections%'; ` 命令来查看。最大连接数一个还只是一个指标,cpu,内存,磁盘,网络等无力条件都是其运行指标,这些指标都会限制其并发能力!所以,一般 3000 个并发请求就能打死大部分数据库了。
283
291
You can’t perform that action at this time.
0 commit comments