python使用Redis会遇到哪些缓存问题?
在以后学习Python的过程中,很多小伙伴都会向web开发的方向靠拢。在网页中,最常用的是缓存,可以用来实现各种功能。比如我们登录一个网页的时候,浏览器会问你是否记住,如果你选择记住用户名和密码,就会用到缓存,缓存也会遇到一些问题。有关详细信息,请参阅以下内容:
什么是缓存穿透?
当我们访问一个键时,也就是下标。如果这个键对应的数据不存在,自然不会从缓存中获取,然后这些请求将访问数据库。如果数据量很大,自然会对数据库产生产生较大压力从而导致崩溃,那什么情况数据会不存在呢?例如,使用不存在的用户id获取信息,或者一些带有负数的信息,不法分子利用该漏洞进行攻击很可能导致数据库崩溃。
什么是缓存击穿?
当我们查询到某个键对应的数据时,redis中确实存在,但是已经过期了,即无法从缓存中获取到数据,那么就会去数据库中查找,如果这个键在某个在某个时间点,超高并发访问的数据,即非常热的数据,自然会请求数据库,导致后端数据库崩溃。
什么是缓存雪崩?
缓存雪崩与缓存击穿类似,不同的是,缓存雪崩是针对多个键的缓存,而缓存击穿则是针对某个键。当我们查询多个键对应的数据时,这些键在缓存中都是过期的,那么这些大量的请求就会去数据库进行查询访问,从而导致数据库崩溃。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!