-
appendfsyncalways会让Redis卡在磁盘上,因其每条命令都强制调用fsync()等待硬件确认落盘,使QPS被钉死在磁盘IOPS天花板;而everysec通过后台线程批量刷盘解耦主线程与I/O,大幅降低IOPS压力但引入秒级延迟毛刺。112 收藏 -
volatile-lru是仅在带TTL的key中按LRU算法驱逐的内存淘汰策略,不处理未设置过期时间的key;会话key必须显式设置TTL,否则成为永生key导致内存溢出。358 收藏 -
RDB和AOF不能防止雪崩,仅决定宕机后数据能否快速完整恢复;RDB加载失败主因是路径、权限、版本不兼容或未启用;AOF截断需设aof-load-truncatedyes临时解决;Redis优先用AOF恢复;加载后keyTTL已过期,须配合缓存预热。299 收藏 -
会,Redis主从同步常打爆网卡,尤其跨机房、大key迁移或全量复制时;因Redis无带宽限速参数,需用tc对主节点6379端口出向流量限速,并调大repl-timeout防超时断连。233 收藏 -
RedisStreams用XADD存操作日志最直接,天然按毫秒级时间戳排序,支持XREAD/XRANGE按时间范围查询,需设MAXLEN防爆涨,多服务通过consumergroup共享且互不干扰,持久化依赖AOF配置。395 收藏 -
空值缓存TTL应设为60s~180s并配合业务SLA,禁用null直存而用"__NULL__"等明确标记,且必须与接口层参数校验、限流及定期清理协同使用。136 收藏 -
调大hash-max-ziplist-entries内存不降反升,因ziplist启用需同时满足entries、value长度及数据紧凑三条件;单个value超hash-max-ziplist-value即退化为hashtable。347 收藏 -
短连接在Redis中严重伤性能,因其每次需完整TCP握手、认证、DB切换与释放,局域网下单次开销达1–3ms,超GET命令5–10倍,并引发TIME_WAIT端口耗尽。181 收藏 -
根本原因是客户端将从节点视为独立服务端并为每个从节点创建独立连接池。开启读写分离后,Jedis/Lettuce会主动发现并连接所有从节点,导致连接数激增、从库负载过高;解决关键是禁用客户端拓扑发现,改用代理层统一入口或手动控制连接复用。254 收藏 -
Redis集群中Lua脚本不会触发传统死锁,但会因单线程执行而阻塞整个节点;无限循环脚本导致该节点所有命令超时,需通过CLIENTLIST、INFOcommandstats及CLUSTERNODES识别异常,并依赖lua-time-limit、计数器循环、客户端超时与限流等机制防控。473 收藏 -
必须同时排除RedisAutoConfiguration和RedisRepositoriesAutoConfiguration,否则因后者依赖redisTemplate而启动失败;exclude参数需传入Class数组,配置文件中须正确书写全限定名并避免缩进错误,且需清理残留Redis属性和手动Bean。323 收藏 -
Redis7的Multi-PartAOF是将写操作分散到多个小文件(如.base.rdb和.incr.aof)的机制,本质区别在于重写不再依赖全量内存快照和fork子进程,而是通过异步追加与增量合并实现,内存占用稳定在几十MB。309 收藏 -
AOF重写后文件变大是因为重写时仍会写入带过期时间但尚未过期的key,尤其高频短TTL的SET/EXPIREAT等指令堆积且无法压缩,导致AOF体积膨胀。186 收藏 -
网卡PPS打满是吞吐量上不去的常见原因,尤其在小key/value场景下,单请求虽仅60–100字节却生成独立TCP包,易使网卡达到硬件上限。195 收藏 -
bgsave不阻塞Redis主线程,因其fork后由子进程独立完成RDB生成,主线程立即恢复服务;卡顿仅发生在fork阶段,大内存实例页表复制开销显著。204 收藏