-
根本原因是repl-backlog-size过小或网络闪断超时,导致从节点重连时偏移量超出缓冲区范围而无法增量同步,被迫触发全量同步。409 收藏 -
SDIFF不能直接找出“新增关注”,因其仅执行集合差运算且不记录时间顺序;需先构建两个语义明确的快照集合(如按日期命名),再用SDIFF计算差集,否则易因键名错误、空键或客户端处理问题导致结果异常。408 收藏 -
不能。AOF是无时间戳的追加日志,不支持按时间点截断;需人工结合外部线索定位字节偏移或命令位置,再手动裁剪,并通过临时实例校验状态。407 收藏 -
Redis单个STRING超10MB必须拆分,建议512KB内切片并用GETRANGE/SETRANGE操作;BigHash应按访问频次和语义拆为小Hash,禁用HGETALL;一致性靠Lua脚本或状态字段+重试保障。407 收藏 -
Redis延迟高但CPU正常通常是网络丢包或抖动所致,表现为redis-cli--latency毛刺飙升、ping标准差>10ms或丢包率>0.1%,需用tcpdump抓包分析重传与ACK丢弃,并排查云环境安全组、NAT会话老化及内核TCP参数配置。406 收藏 -
不能直接用RedisPub/Sub做缓存一致性保障,因其不保证消息可达,订阅者离线时消息丢失,无重试、ACK或持久化机制;必须结合RedisStream落地事件+数据库状态校验实现最终一致。405 收藏 -
ZUNIONSTORE合并多个ZSet时相同member的score默认相加;海量数据下会严重阻塞Redis主线程;需注意目标key编码、memberID统一及分批合并等实践要点。402 收藏 -
Bitmap用1bit存每日签到状态,1万用户年数据仅13KB,String存“1”/“0”需3.6MB;需按年分key、用BITPOS+BITCOUNT算连续天数,offset须为小整数且避免客户端溢出。401 收藏 -
哨兵必须和业务走不同网卡,以避免业务流量干扰心跳包导致误判下线;需绑定专用网卡IP、隔离哨兵间通信、禁用DNS解析并校验hosts、防火墙等全链路配置。398 收藏 -
AOF文件无法直接看出某条key被谁改过,因其仅记录命令文本,不包含时间戳、客户端ID或用户标识;需通过业务层打标或Proxy日志实现审计溯源。398 收藏 -
应先用EXISTS检查key存在,再用TYPE校验类型是否为string,因GET对非string类型会直接报错且无法捕获;TYPE返回值严格区分大小写和拼写,须用==全等比较。397 收藏 -
从节点默认不执行任何过期逻辑,仅重放主节点发来的DEL等命令;必须设maxmemory-policy为noeviction(或7.0+启用replica-ignore-maxmemoryyes)防止主动淘汰破坏一致性。396 收藏 -
RedisStreams用XADD存操作日志最直接,天然按毫秒级时间戳排序,支持XREAD/XRANGE按时间范围查询,需设MAXLEN防爆涨,多服务通过consumergroup共享且互不干扰,持久化依赖AOF配置。395 收藏 -
noeviction是金融级系统唯一可接受的内存策略,它通过写入失败显式暴露容量瓶颈,杜绝后台自动删数据;淘汰策略属兜底补救,非容量规划手段,须配合85%阈值告警、自动化扩容及OOM错误处理闭环。395 收藏 -
RedisString底层使用SDS而非C字符串,具备O(1)长度获取、二进制安全等特性;其内存布局含sdshdr头(因类型不同为4/6字节)与数据,小字符串存在固定开销;扩容采用几何增长策略易造成内存浪费;≤44字节时启用embstr编码以节省内存和指针跳转开销。394 收藏