-
必须同时排除RedisAutoConfiguration和RedisRepositoriesAutoConfiguration,否则因后者依赖redisTemplate而启动失败;exclude参数需传入Class数组,配置文件中须正确书写全限定名并避免缩进错误,且需清理残留Redis属性和手动Bean。
-
Redis发布订阅的热Key本质是频道成为单点瓶颈,因频道由全局字典维护、无法分片,需通过语义拆分(业务/时间/用户维度)+客户端软负载(轮询/随机/一致性哈希)+分层设计(Pub/Sub仅发轻量通知)协同优化。
-
<p>SCAN在Redis集群中不能扫全量key,因为其仅作用于当前连接节点,需手动遍历所有主节点;应通过CLUSTERNODES筛选master节点,用SCAN0MATCH*COUNT1000逐节点扫描并去重校验。</p>
-
GEODIST返回null或0主因是两个member不在同一key的Geo集合中;必须同属一个SortedSet,且需显式指定单位(m/km/mi/ft),member名含空格须加引号,跨key计算不支持。
-
repl-timeout应设为P99RTT的2~3倍,如P99RTT为120ms则建议30秒;需协同调整repl-backlog-size、repl-backlog-ttl和tcp-keepalive,并验证sync_partial_ok上升及master_link_status稳定。
-
根本原因是MOVE命令迁移大Key时需原子性搬运整个value并阻塞slot读写;应通过业务层拆分(如SCAN+HSCAN)、人工slot迁移及提前识别大Key来解决,而非依赖reshard。
-
缓存雪崩主因是大量key过期时间高度趋同,需通过扫描TTL、监控expired_keys曲线及检查写入逻辑验证;应采用SETEX或SET...EX原子命令,在基础过期时间上叠加5%–20%随机偏移,并确保所有写入路径(含定时任务、MQ、后台)均覆盖随机化。
-
彻底禁用RDB自动触发需注释或设为save"",重启或CONFIGREWRITE后CONFIGGETsave返回["save",""],且rdb_changes_since_last_save持续增长即生效。
-
Redis7的Multi-PartAOF是将写操作分散到多个小文件(如.base.rdb和.incr.aof)的机制,本质区别在于重写不再依赖全量内存快照和fork子进程,而是通过异步追加与增量合并实现,内存占用稳定在几十MB。
-
在Redis多租户环境中,通过数据库实例隔离、数据库隔离、键名前缀实现数据隔离;使用ACL进行权限控制;通过内存限制和连接池管理资源分配;通过加密传输、认证和防火墙提升安全性。
-
Redis原生SINTER不支持带权重或条件过滤的交集计算,因其仅做纯元素匹配;需用Lua脚本在服务端原子执行复杂逻辑,但须防范阻塞、性能与维护风险。
-
AOF重写内存暴增主因是fork的Copy-on-Write机制触发页拷贝+重写缓冲区累积;可通过infomemory差值、日志、aof_pending_rewrite交叉定位;缓解需停自动触发、手动完成重写,并调优auto-aof-rewrite-percentage等参数缩短重写时长。
-
RDB快照期间内存淘汰变卡是因为fork()触发写时复制且LRU/LFU策略需高频遍历计算,导致CPU负载飙升;可通过切换为random策略、调高maxmemory、启用lazyfree-eviction及优化RDB频率等缓解。
-
Redis集群选举必须过半数Master同意,因其采用类Raft共识机制,要求至少(N/2+1)个在线Master投票通过,以防网络分区导致脑裂和数据不一致。
-
Redis3.0的evictionpool是一个固定长度为16的数组,用于淘汰前暂存采样键的近似空闲时间和键名,通过多轮随机采样、保序插入与top-K筛选,提升冷热识别鲁棒性,避免单次采样误驱逐热点key。