-
SENTINELFAILOVER无反应大概率因哨兵未达成共识或主节点状态不满足切换前提:需至少3个哨兵在线且通信正常,目标master必须存在于SENTINELMASTER列表且角色为master,quorum值不可高于实际哨兵数;命令返回OK不代表切换完成,须依次验证哨兵failover_in_progress标志、新主role:master且无master_host、旧主已变为slave并指向新主;手动触发不模拟真实故障路径,无法检测发现延迟、重连失败及客户端重定向问题;演练前须调大down-afte
-
主从复制必须开启AOF,否则从节点重启后数据丢失;从节点需配置appendonlyyes和appendfsynceverysec,主节点也建议开启AOF;切换前须等待aof_pending_bio_fsync为0再开放VIP。
-
网卡PPS打满是吞吐量上不去的常见原因,尤其在小key/value场景下,单请求虽仅60–100字节却生成独立TCP包,易使网卡达到硬件上限。
-
BITFIELD存储指定宽度和符号性的整数片段(如i8、u16),非完整整数对象;支持位级读写、原子增减及溢出控制,但需注意偏移单位为位、未初始化位返回0、跨字节边界正确处理及客户端解析差异。
-
PUBSUBNUMSUB命令可实时获取指定频道的活跃订阅者数量,返回整数(无人订阅时为0),支持多频道批量查询,但不区分SUBSCRIBE/PSUBSCRIBE,且在RedisCluster中需直连对应节点执行。
-
RedisPub/Sub不支持消息过期机制,因其是纯内存即时广播通道,消息不存储、无TTL、不落盘;需改用SET+EXPIRE、STREAM配合定时清理或ZSET实现带有效期的消息。
-
Redisbgsave时内存翻倍并非复制业务数据,而是fork触发COW:内核仅复制页表,写入时才拷贝物理页,导致RSS暴涨;典型信号是used_memory_rss/used_memory比值骤升至2.5+且latest_fork_usec>500ms。
-
Redis集群通过主从复制、故障转移和一致性哈希保障数据一致性。优化方法包括:1.调整网络配置,提升网络性能;2.合理的数据分片策略,均衡负载;3.采用读写分离,提升读性能和降低主节点压力。
-
<p>用户ID转位偏移量需统一减1,即offset=user_id-1;负数、字符串或过大ID(>2³²)不合法,分库分表/UUID/Snowflake等非连续ID须先映射为连续整数。</p>
-
主从节点淘汰策略必须完全一致,否则必然导致数据不一致;需统一maxmemory-policy、maxmemory值,确保read_only开启,并避免从节点写操作及运行时配置变更。
-
红包拆解必须用RedisLua脚本实现原子操作,通过线段切割法生成严格满足总和与最小值约束的随机金额,并配合EVALSHA调用、兜底校验及集群哈希标签设计确保资金安全与高并发正确性。
-
不能,RLock仅提供分布式锁功能,不解决缓存击穿;需结合双检、空值缓存、合理锁超时与降级策略才能有效防护。