-
Redis在SSD云盘上AOF重写或RDBsave卡顿,主因是文件系统磁盘屏障(barrier)强制全链路落盘,导致fsync延迟飙升;可通过mount和xfs_info检查barrier=1或data=ordered确认。
-
Redis集群参数中,cluster-enabled、cluster-config-file、cluster-node-timeout等不支持热调整,CONFIGSET看似成功实则被忽略;真正可热调的仅timeout、tcp-keepalive、maxmemory-policy等少数非核心参数。
-
RedisPub/Sub监控需聚焦连接行为与资源消耗:用PUBSUBNUMSUB查实时订阅数,instantaneous_output_kbps和client_longest_output_list组合判断积压,connected_clients与connections_received_per_sec协同识别频繁重连。
-
INCRBY不能直接用作全局唯一ID,因其在主从复制延迟、Redis重启无持久化、分片集群跨slot等场景下会导致ID重复或跳变;可靠方案是时间戳+原子自增组合,并需开启AOF、Lua封装、slot标签等保障措施。
-
PUBLISH命令不能在Redis事务中执行,因其属异步广播机制,与事务的原子性语义冲突;SUBSCRIBE等订阅命令同样禁止入事务,因会切换连接状态;需原子化“改数据+发消息”时应使用Lua脚本。
-
RedisPub/Sub不保存消息,断连即丢消息,无法满足即时通讯的离线兜底需求;必须用Stream(XADD/XREAD)持久化消息,Pub/Sub仅作在线实时广播通道。
-
RedisSET命令不全局阻塞,但单次执行时间随value长度线性增长,占用主线程导致后续命令延迟;大value主要瓶颈在内存分配、拷贝与驱逐逻辑,可通过SLOWLOG和latency-monitor验证,优化方式包括拆分key、改用Stream/Hash或移出大blob。
-
Redis6+集群启用TLS需版本≥6.0且编译时启用OpenSSL(makeBUILD_TLS=yes),OpenSSL≥1.1.1,所有节点共用同一CA证书,配置必须包含tls-cert-file、tls-key-file、tls-ca-cert-file、tls-clusteryes、tls-replicationyes,客户端需指定--cacert,证书更新须滚动重启。
-
SAVE命令会阻塞Redis主进程同步写入RDB文件,期间不处理任何请求;适用于停机前且可接受中断的场景,但生产环境应优先用BGSAVE,配合AOF才能保障数据不丢。
-
bgsave不阻塞Redis主线程,因其fork后由子进程独立完成RDB生成,主线程立即恢复服务;卡顿仅发生在fork阶段,大内存实例页表复制开销显著。
-
Bitmap签到本质是将日期转为从基准日开始的天数差作为offset,用SETBIT操作位;需统一UTC时区、避免手算闰年、单用户单key(如sign:uid:12345)、按月分key更实用,查连续签到须结合日期范围校验offset。
-
大key在Redis主从同步中会触发复制断连,表现为从库state由online突变为offline、日志反复出现Connectionwithmasterlost和Resyncingfrommaster,根源是RDB/AOF传输超时或内存溢出。
-
缓存穿透本质是无效key频繁击穿至DB,需用BloomFilter在Redis层预检;其误判可控、内存极小,支持高效存在性判断;Redisson中应使用RBloomFilter并正确初始化,注意冷启动、误判率调优及数据一致性问题。
-
网卡PPS打满是吞吐量上不去的常见原因,尤其在小key/value场景下,单请求虽仅60–100字节却生成独立TCP包,易使网卡达到硬件上限。
-
@Cacheable默认不设过期时间,若统一配置TTL则所有key同步过期易引发雪崩;需通过RedisTemplate手动写入并添加随机偏移(如10分钟±60秒)来缓解。