过期、淘汰、持久化与容量
Redis、缓存与异步任务#Python全栈#第十五阶段#Redis、缓存与异步任务#过期、淘汰、持久化与容量约 691 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
TTL 与 PTTL 怎样描述键的有效期?
追问 键不存在和没有设置过期分别返回什么含义?查询有效期为何不能消除随后过期的竞态?
Redis 怎样处理过期键?
追问 访问检查与主动清理怎样协作?为什么键逻辑过期与物理内存释放不一定在同一瞬间完成?
过期与内存淘汰有什么区别?
追问 尚未到 TTL 的键为什么仍可能消失?缓存设计如何把缺失视为正常情况?
maxmemory 与淘汰策略应怎样按用途选择?
追问 allkeys、volatile 与 noeviction 的候选范围或结果怎样不同?缓存与任务 Broker 为什么可能需要隔离策略和实例?
LRU 与 LFU 分别依据什么选择淘汰候选?
追问 近期访问和访问频度适合哪些流量?Redis 的近似实现为何不宜被描述为完全精确的全局排序?
big key 与 hot key 分别会造成什么问题?
追问 巨大集合和高频小键怎样分别影响内存、网络和负载?如何采样定位,避免排查本身触发大量阻塞操作?
RDB 与 AOF 各怎样保存数据?
追问 恢复、磁盘和写入成本有什么取舍?AOF 刷盘策略如何影响可能丢失的数据窗口?
复制与持久化是否能保证每个已返回成功的写入永不丢失?
追问 异步复制、故障切换、刷盘和恢复条件怎样影响结果?为什么高价值业务还需要数据库约束或可对账记录?
DEL 与 UNLINK 对大键删除有什么差别?
追问 从键空间移除与释放内存如何分开?为什么后台释放也需要资源,且不能修复不合理的大键设计?
怎样规划 Redis 容量并验证重启后的业务行为?
追问 键数量、平均值大小、结构开销、复制与持久化峰值如何估算?冷缓存重建与非缓存数据恢复怎样分开验收?