-
redis-cli的monitor命令可实时打印所有指令但仅限调试环境,因性能开销大、无过滤能力、输出非结构化,生产环境应禁用;推荐用slowlog(设slowlog-log-slower-than为0)替代。
-
缓存击穿是热点key过期瞬间大量请求直击数据库,微服务中因多实例并发回源使DB压力放大N倍;需用原子SET命令加锁、逻辑过期替代永不过期、服务自治布隆过滤器并强同步更新。
-
RedisGEOHASH命令返回标准Base32编码的Geohash字符串数组,长度1-12位,即使单个成员也返回如["wx4g0b0j0r0"]的数组,需取首项;仅对GEOADD添加的成员有效,未添加则返回[nil]。
-
AOF重写加剧SSD寿命损耗,因其每次均全量生成新文件并原子替换,引发高频页擦除与搬移(写放大);频繁触发(如每小时2–3次)使SSD磨损加速,实测寿命比纯RDB缩短30%+。
-
XDEL对已消费消息无效,因其仅逻辑删除未被任何消费者组读取的消息;已入PEL的消息调用XDEL会静默返回0,必须用XACK释放再XTRIM裁剪。
-
LPUSH+BRPOP不能直接做可靠循环队列,因为BRPOP阻塞等待导致无法自动重入,需外部调度;且List缺乏状态跟踪、幂等支持和消费确认机制,易丢任务或重复消费。
-
SENTINELFAILOVER无反应大概率因哨兵未达成共识或主节点状态不满足切换前提:需至少3个哨兵在线且通信正常,目标master必须存在于SENTINELMASTER列表且角色为master,quorum值不可高于实际哨兵数;命令返回OK不代表切换完成,须依次验证哨兵failover_in_progress标志、新主role:master且无master_host、旧主已变为slave并指向新主;手动触发不模拟真实故障路径,无法检测发现延迟、重连失败及客户端重定向问题;演练前须调大down-afte
-
BITFIELD存储指定宽度和符号性的整数片段(如i8、u16),非完整整数对象;支持位级读写、原子增减及溢出控制,但需注意偏移单位为位、未初始化位返回0、跨字节边界正确处理及客户端解析差异。
-
PUBSUBCHANNELS命令返回当前至少有一个订阅者的活跃频道,不保留历史记录;频道非键空间成员,故KEYS/SCAN无法查到;支持pattern过滤,结果需手动decode。
-
Redisbgsave时内存翻倍并非复制业务数据,而是fork触发COW:内核仅复制页表,写入时才拷贝物理页,导致RSS暴涨;典型信号是used_memory_rss/used_memory比值骤升至2.5+且latest_fork_usec>500ms。
-
Redis集群通过主从复制、故障转移和一致性哈希保障数据一致性。优化方法包括:1.调整网络配置,提升网络性能;2.合理的数据分片策略,均衡负载;3.采用读写分离,提升读性能和降低主节点压力。
-
红包拆解必须用RedisLua脚本实现原子操作,通过线段切割法生成严格满足总和与最小值约束的随机金额,并配合EVALSHA调用、兜底校验及集群哈希标签设计确保资金安全与高并发正确性。
-
不能,RLock仅提供分布式锁功能,不解决缓存击穿;需结合双检、空值缓存、合理锁超时与降级策略才能有效防护。