缓存击穿、穿透、雪崩
- 缓存击穿:是指一个热点key,在缓存过期的瞬间,大量请求直接打到数据库。比如某热门商品促销,缓存过期时大量用户访问该商品详情,就会产生缓存击穿。
- 缓存穿透:是指查询一个不存在的数据,由于缓存和数据库都没有,导致每次请求都穿透缓存访问数据库。例如用一个不存在的用户ID去查询用户信息。
- 缓存雪崩:是指大量缓存在同一时间过期,或者缓存服务器出现故障,导致大量请求直接访问数据库,使得数据库压力骤增。就好像很多热门商品的缓存同时过期,大量用户访问时数据库可能不堪重负。
测试工具
- 性能测试工具:JMeter,可用于测试接口性能,包括缓存对性能的影响。
- 单元测试工具:JUnit,用于测试代码单元是否符合预期,包括缓存相关代码逻辑。