扫码阅读
手机扫码阅读
《对线面试官》| 高频 Redis 面试题(上)
196 2024-07-20
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
咸鱼运维杂谈
扫码关注公众号
前言
公众号运营者分享了一年多的经验,包括运维人员的问题排查定位技巧和学习笔记。
《对线面试官》系列
作者宣布启动新系列《对线面试官》,将分享校招面试中常见问题,帮助面试者了解面试官喜欢问的问题,并且强调这些问题虽基础但内容广泛,能反映技术水平和知识总结能力。
Redis 面试题
Redis是C语言编写的开源key-value数据库,以内存运行速度快和支持数据持久化著称。适合用于会话缓存、排行榜、消息队列等场景,但不适宜数据量大或访问频率低的情况。
支持的数据类型有string、hash、list、set和zset。单线程架构的高速度得益于存储在内存、使用epoll技术和事件处理模型、避免多线程资源竞争。
缓存问题及解决方案
缓存穿透通过缓存空数据或布隆过滤器解决。缓存雪崩可以通过加锁排队、数据预热、二级缓存策略或随机过期时间来避免。
持久化机制与键过期策略
Redis提供RDB和AOF两种持久化机制,RDB通过快照保存数据,而AOF记录每个写命令。在RDB持久化期间,Redis可处理写请求通过使用COW技术。
内存回收机制包括多种策略,如基于LRU、LFU或随机淘汰的策略。键过期机制通过惰性删除、定时删除和定期删除来管理内存,并在同一时间大量key过期时可能造成性能下降或缓存雪崩。
主从与持久化
slave节点通过主节点的同步操作来实现键过期策略,不会进行独立的过期扫描。RDB和AOF对过期键的处理各有不同,RDB不会持久化过期键,而AOF在键过期后会添加删除命令。
想要了解更多内容?
文章来源:
咸鱼运维杂谈
扫码关注公众号
咸鱼运维杂谈的其他文章
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线