缓存方案总概

文章目录

缓存概要

本地缓存和外部缓存

缓存策略

为了使用有限容量的内存,必然会有一定的缓存淘汰方法,去淘汰掉冷性缓存,提高内存使用率

  1. 先进先出
  2. 最近最少使用
  3. 按固定时间过期(最常使用)
    设置过期时间,可根据业务数据进行加权 类似3+5X的时间,X为业务参数,此淘汰策略适合读多写少的情况

缓存常见的问题

1.缓存穿透

大量的请求来请求同一个数据 ,但是缓存和数据库中都没有,就会造成数据库的巨大压力

解决方法:

  1. 添加一个null的key
  2. 使用布隆过滤器
  3. 完全以缓存为主,采用异步缓存加载

2.缓存击穿

大量的请求来请求同一个数据,缓存中没有,请求都跑到数据库层面,造成数据库压力大

解决方案:

  1. 加的互斥key锁,访问同一个key只有有一个请求进入数据库
  2. 完全以缓存为主,采用缓存异步加载机制

3.缓存雪崩

大量的请求查询不同的数据,但此时缓存失效,大量的请求来到了数据库

解决方案:

  1. 将过期时间在业务层面做的均匀分散
  2. 热数据分散到不同的服务器上
相关推荐
祈禾8 小时前
Redis三大缓存问题与分布式锁
运维·数据库·redis·笔记·分布式·缓存
祈禾16 小时前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
孙启超17 小时前
【AI应用开发】什么是混合检索(Hybrid Search)?向量检索 + BM25 关键词检索,适用场景与 RRF 融合原理
人工智能·缓存·llm·向量数据库·bm25·向量化·ai应用开发
y = xⁿ17 小时前
一文掌握Redis常见八股
数据库·redis·缓存
码云骑士19 小时前
101-向量数据库性能调优-100QPS到10000QPS-索引-缓存-分区压测
数据库·python·缓存
名字还没想好☜21 小时前
Java 用 MethodHandle 替代反射:调用性能实测、invokeExact 的坑与缓存
java·开发语言·缓存·反射·methodhandle
acd1200921 小时前
Redis 缓存和数据库一致性,到底怎么搞?
数据库·redis·缓存
小当家.10521 小时前
LLM服务缓存与连接池管理:三层缓存架构与ChatClient池化
java·后端·spring·缓存·llm·agent
CodeBlog-star21 小时前
AI Agent 高并发实战:Redis 限流、队列、缓存与高可用全栈方案
数据库·redis·缓存
小当家.1051 天前
Token成本控制实战:语义缓存、上下文压缩与工具缓存
java·spring·缓存·token·上下文