查询缓存-缓存更新-缓存穿透-缓存雪崩-缓存击穿

1.查询缓存

1.2.出现的原因

用户高并发访问带来的服务器读写的压力

1.3.解决方法

添加缓存

2.缓存更新

2.1.出现的原因

出现数据不一致的问题

2.2.解决方法

操作数据库的时候

  1. 更新数据库
  2. 删除缓存
    查询数据的时候
  3. 设置过期时间

3.缓存穿透

3.1.出现的原因

在高并发访问某个商品时,在redis和数据库中都没有命中,对数据库造成压力。

3.2.解决方法

向redis中设置空值,将并发的压力给到redis,因为他比数据库的并发能力强。

4.缓存雪崩

4.1.出现的原因

redis宕机,多个热点key失效,压力瞬间给到数据库

5.缓存击穿

5.1.出现的原因

某一个热点key失效,瞬间压力给到数据库

5.2.解决方法

  1. 互斥锁(让一个线程访问数据库,其他的线程进行等待)
  2. 逻辑过期(让一个线程访问数据库,其他的线程返回旧数据)
相关推荐
he___H1 小时前
Redis高级数据类型
数据库·redis·缓存
惊讶的猫3 小时前
Redis双写一致性
数据库·redis·缓存
tb_first3 小时前
SSM速通3
java·jvm·spring boot·mybatis
老虎06274 小时前
Redis入门,配置,常见面试题总结
数据库·redis·缓存
J&Lu4 小时前
[DDD大营销-Redis]
数据库·redis·缓存
tb_first5 小时前
SSM速通4
java·jvm·spring·tomcat·maven·mybatis
程可爱5 小时前
springboot整合mybatis和postgresql
spring boot·postgresql·mybatis
risc1234566 小时前
【Elasticsearch】LeafDocLookup 详述
大数据·elasticsearch·mybatis
陌上丨7 小时前
如何保证Redis缓存和数据库数据的一致性?
数据库·redis·缓存
晓13138 小时前
第八章:Redis底层原理深度详细解析
数据库·redis·缓存