如果你是一位后端工程师,面试时八成会被问到 Redis,特别是那些大型互联网公司,不仅要求面试者能简单使用 Redis,还要深入理解其底层实现原理,具备解决常见问题的能力。可以说,熟练使用 Redis 是后端工程师的必备技能。
但我发现,在工作或面试时,大家还是会有这样那样的疑问,比如:如何用 Redis 实现分布式锁?Redis 怎样处理过期键?缓存雪崩、穿透、热点问题怎么解决?持久化、集群方案怎么选择?如何优雅地给 Redis 做键值分析?等等。
这里,分享给你一张 Redis 问题画像图,帮你快速定位问题对应的 Redis 主线模块,及相关技术点。举个例子,如果 Redis 响应变慢,对照下图你就会发现,这个问题与 Redis 性能主线相关,而性能主线又和数据结构、异步机制、RDB、AOF 重写相关,找到了影响因素,解决起来就容易多了。
在学习和使用过程中,你还可以结合自己的实践经验不断完善它。这样一来,积累越多,画像就越丰富。
这张图出自蒋德钧,他是中科院计算所副研究员,长期致力于 Redis 研究,与阿里、蚂蚁金服、百度、华为、中兴等公司开展了多种项目合作,具有丰富的 Redis 实战经验,申请了 NVM(非易失内存)相关专利二十多项。