关于缓存击穿、缓存穿透、缓存雪崩:
-
缓存处理流程:

-
缓存穿透
缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。
-
缓存击穿
缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力
-
缓存雪崩
缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至down机。和缓存击穿不同的是, 缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。
反向代理
正向代理是指代理客户端,反向代理指代理服务器

正向代理与反向代理的区别
-
相同点:
正向代理和反向代理所处的位置都是客户端和真实服务器之间,所做的事情也都是把客户端的请求转发给服务器,再把服务器的响应转发给客户端。
-
不同点
- 正向代理是客户端的代理,服务器不知道真正的客户端是谁;反向代理是服务器的代理,客户端不知道真正的服务器是谁
- 正向代理一般是客户端架设的;反向代理一般是服务器架设的
- 正向代理主要是用来解决访问限制问题;反向代理则是提供负载均衡、安全防护等作用。二者都能提高访问速度
本文详细解析了缓存中的三大问题:缓存穿透、缓存击穿和缓存雪崩,以及它们可能导致的数据库压力。缓存穿透是指无效请求导致数据库频繁访问;缓存击穿则是因为缓存过期,大量并发请求直接穿透到数据库;缓存雪崩是大量缓存同时过期,数据库面临巨大压力。同时,介绍了反向代理的作用,它能提供负载均衡和安全防护,缓解服务器压力。
767

被折叠的 条评论
为什么被折叠?



