Damnatiox
知识文件夹

缓存与搜索

现代 Java Backend Engineering 学习路线:缓存与搜索

0 子目录5 文档

文档

5
缓存与搜索:在证据出现后引入缓存与搜索:在证据出现后引入 Freshness metadata last verified : 2026 08 24 version scope : Redis / Caffeine / Elasticsearch concepts source type : official docs stability : version sensitive Redis 不是“更快数据库”,Elasticsearch 也不是关系数据库的默认替代Redis 与缓存工程:数据类型、持久化、高可用、集群与一致性Redis 与缓存工程:数据类型、持久化、高可用、集群与一致性 Redis 不只是缓存;正确使用要理解数据类型、过期/淘汰、RDB/AOF、复制、Sentinel、Cluster 和缓存一致性。 1. 本文覆盖范围 String/Hash/List/Set/ZSet/Stream/Bitmap/HyperLogLog/Geo TTL、内存淘汰、RDB、AOF 与恢复 主从复制、Sentinel、Cluster 与热 key 缓存穿透、击Elasticsearch 搜索工程:Mapping、分析器、Query DSL、分片与聚合Elasticsearch 搜索工程:Mapping、分析器、Query DSL、分片与聚合 Elasticsearch 是搜索与分析引擎,不是关系数据库的透明替代。核心是 mapping、倒排索引、查询/过滤上下文、分片和生命周期管理。 1. 本文覆盖范围 document/index/mapping 与 text/keyword analyzer、tokenizer、filter 与相关性 Query DSL、filter、bool缓存、CDN、读写分离、分库分表与热点治理缓存、CDN、读写分离、分库分表与热点治理 扩展数据路径应先优化模型、索引和缓存,再引入复制或分片;每一层都增加一致性和运维成本。 1. 本文覆盖范围 多级缓存与失效 CDN 与边缘缓存 读写分离 分片、全局查询与热点 2. 核心知识详解 1. 缓存策略 cache aside 由应用读缓存、miss 查库并回填,写入通常先提交数据库再失效缓存。TTL、版本和事件失效共同限制陈旧窗口。 空值缓存/布隆过滤器防穿透。 互斥回填、逻辑过期或Caffeine 本地缓存与多级缓存Caffeine 本地缓存与多级缓存 Caffeine 是高性能 JVM 进程内缓存。它省去网络往返,适合热点只读/可重算数据;但每个实例拥有独立副本,容量、过期、加载并发和跨实例失效必须设计。 1. 学习目标 理解 size/time/reference eviction 掌握同步与异步加载及统计 设计本地+Redis+数据库多级缓存 2. 核心概念 1. 淘汰与过期 maximumSize/maximumWeight 控制容量; e