答:热数据在某个窗口被频繁访问,冷数据访问少。用访问频率、复用间隔、回源成本和数据大小一起判断。冷热会随活动与时间变化。
答:可比较七种思路。单实例 SET NX PX 加所有者校验、带续期的租约、Redisson 可重入锁、多独立节点 Redlock、数据库行锁、数据库唯一约束占位、协调服务的临时节点。要按故障保证选。
答:WATCH 记录要观察的键。读到旧值并算出新值后,把写命令加入事务。如果从 WATCH 到 EXEC 之间键变化,EXEC 会放弃执行,客户端重读并有限重试。
答:先区分是字符串字节大、集合成员多,还是某次命令取太多。用 SCAN、MEMORY USAGE 和结构长度做抽样,再拆分、分页或调整存储位置。
答:比较获取与释放的往返、竞争等待、续期次数、故障恢复和实际临界区时长。单节点通常往返少,多节点方案和自动续期有额外工作。
答:Redis 7.4 中,小型有序集合通常可用 listpack 紧凑保存。超过配置阈值后,常用字典配跳表。字典便于按成员找分数,跳表支持按分数排序和范围访问。
答:先确认是否达到 maxmemory,还是进程 RSS 超过机器或容器预算。查数据量、碎片、客户端缓冲、复制积压和持久化开销,再决定清理、限流或扩容。
答:用访问计数、最近访问、回源成本及时间窗口确定缓存优先级。热数据缺失时加载,冷数据通过过期或淘汰退出,权威数据保留在原存储。
答:常见有固定窗口计数、滑动窗口、令牌桶和漏桶。固定窗口简单,但边界两侧可能连续通过两批请求。滑动和桶类策略能控制不同形式的突发。
答:先限流,再用原子检查和扣减做快速预占。权威库存仍需条件更新或唯一约束,保证实际订单不会超卖。每次购买带幂等标识。