-
不能。RedisList无自动回绕机制,需配合LTRIM控制长度实现伪循环队列;RPOPLPUSH不限长也不丢弃数据;原子性操作须用Lua脚本封装;Stream的MAXLEN更贴近循环语义但不支持随机访问。
-
用SETBIT和GETBIT做存在性判断最直接:SETBIT设定位为1,GETBIT查该位是否为1,O(1)时间、极省空间;不可用BITCOUNT替代,不支持三态,需确保ID到偏移量映射一致。
-
Redis集群必须使用ntpd或chronyd平滑同步时间,内网部署专用NTP服务器,配置restrict规则、硬件时钟同步和开机自启,并通过ntpq-p、ntpq-crv及Redis日志持续监控。
-
SENTINELFAILOVER无反应大概率因哨兵未达成共识或主节点状态不满足切换前提:需至少3个哨兵在线且通信正常,目标master必须存在于SENTINELMASTER列表且角色为master,quorum值不可高于实际哨兵数;命令返回OK不代表切换完成,须依次验证哨兵failover_in_progress标志、新主role:master且无master_host、旧主已变为slave并指向新主;手动触发不模拟真实故障路径,无法检测发现延迟、重连失败及客户端重定向问题;演练前须调大down-afte