第一次接触缓存,踩了“缓存穿透”的坑
入职一个月,导师让我给用户查询接口加缓存,提升响应速度。我照着教程,用Redis实现了缓存功能,本地测试没问题,就提交了代码。可没过多久,测试同学反馈:“有部分用户查询不到数据,而且Redis的内存占用越来越大”。
导师带我排查后发现,我没有处理“缓存穿透”的问题——当查询一个不存在的用户ID时,缓存不会命中,会直接去查数据库,而且不会将空结果存入缓存,导致大量无效请求冲击数据库,同时Redis里存了很多无效的缓存数据。
那天,导师给我讲了缓存穿透、缓存击穿、缓存雪崩的区别,还教我用“布隆过滤器”和“空结果缓存”解决缓存穿透的问题。虽然花了一天时间才搞定,但我第一次接触到了后端性能优化的核心知识点,也明白:后端开发不仅要实现功能,还要考虑性能和稳定性。
💡 连载专属内推福利:拼多多后端实习能接触到Redis、MySQL等核心技术,全程参与性能优化项目,积累硬核简历经验!内推可优先匹配核心业务组
💡 内推方式(直接抄作业,一步到位)
内推链接:https://careers.pddglobalhr.com/campus/grad/detail?t=ChAeIXXkdd
内推码:ChAeIXXkdd
#PDD实习##字节##你的实习什么时候入职#
导师带我排查后发现,我没有处理“缓存穿透”的问题——当查询一个不存在的用户ID时,缓存不会命中,会直接去查数据库,而且不会将空结果存入缓存,导致大量无效请求冲击数据库,同时Redis里存了很多无效的缓存数据。
那天,导师给我讲了缓存穿透、缓存击穿、缓存雪崩的区别,还教我用“布隆过滤器”和“空结果缓存”解决缓存穿透的问题。虽然花了一天时间才搞定,但我第一次接触到了后端性能优化的核心知识点,也明白:后端开发不仅要实现功能,还要考虑性能和稳定性。
💡 连载专属内推福利:拼多多后端实习能接触到Redis、MySQL等核心技术,全程参与性能优化项目,积累硬核简历经验!内推可优先匹配核心业务组
💡 内推方式(直接抄作业,一步到位)
内推链接:https://careers.pddglobalhr.com/campus/grad/detail?t=ChAeIXXkdd
内推码:ChAeIXXkdd
#PDD实习##字节##你的实习什么时候入职#
全部评论
相关推荐
03-23 08:23
塔里木大学 软件测试 点赞 评论 收藏
分享
查看11道真题和解析 点赞 评论 收藏
分享