排行榜读路径(read path)如何实现 read-through cache?缓存未命中时应该怎么做,如何避免 thundering herd?
How do you implement read-through caching for leaderboard reads, and how do you prevent thundering herd on cache misses?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: read-through, cache-miss, thundering-herd
参考答案摘要
答案 Read-through cache 的核心是:读请求先查缓存,未命中由缓存层(或函数)负责回源 DB 并回填缓存。 客户端通过 WebSocket/HTTP 请求查看排行榜。 服务先从 Redis Sorted Set 读取(如 ZREVRANGE )。 若缓存未命中或数据不完整,则回源关系型数据库(通常走读副本)查询。 将结果写回缓存并设置合适的 TTL/更新策略,再返回给客户端。 避免...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。