答:简单队列可用 List。需要记录消息、消费组、确认与重领时,优先考虑 Streams。Pub/Sub 适合在线通知,断线期间的消息不会补送。
答:客户端订阅频道或匹配模式,发布者向频道发消息,在线订阅者即时收到。Cluster 另有按槽分片的 Pub/Sub。普通发布订阅是至多一次。
答:当缓存不可用、重建很慢或回源压力过高时,可以返回允许的旧值、简化结果或按优先级拒绝一部分请求,同时限制回源并发。
答:预热是在流量到来前把常访问的数据放入缓存。更新是数据改变或缓存临近到期后,按业务规则使它失效、刷新或重新填充。
答:热数据在某个窗口被频繁访问,冷数据访问少。用访问频率、复用间隔、回源成本和数据大小一起判断。冷热会随活动与时间变化。
答:可比较七种思路。单实例 SET NX PX 加所有者校验、带续期的租约、Redisson 可重入锁、多独立节点 Redlock、数据库行锁、数据库唯一约束占位、协调服务的临时节点。要按故障保证选。
答:WATCH 记录要观察的键。读到旧值并算出新值后,把写命令加入事务。如果从 WATCH 到 EXEC 之间键变化,EXEC 会放弃执行,客户端重读并有限重试。
答:先区分是字符串字节大、集合成员多,还是某次命令取太多。用 SCAN、MEMORY USAGE 和结构长度做抽样,再拆分、分页或调整存储位置。
答:比较获取与释放的往返、竞争等待、续期次数、故障恢复和实际临界区时长。单节点通常往返少,多节点方案和自动续期有额外工作。
答:Redis 7.4 中,小型有序集合通常可用 listpack 紧凑保存。超过配置阈值后,常用字典配跳表。字典便于按成员找分数,跳表支持按分数排序和范围访问。