-
必须配合日期动态生成key,因Bitmap无时间维度,共用key会丢失日期信息且导致单key膨胀、RDB/AOF暴增、主从延迟;用户ID须映射为非负整数offset,避免直接强转;BITCOUNT偏高多因key未清理或offset错位;5000万DAU下Bitmap体积约6.25MB,但需防ID稀疏浪费内存。
-
Redis布隆过滤器不支持动态扩容,BF.RESERVE设定的capacity和error_rate不可修改;扩容需手动迁移数据并切换key,参数选错易致内存激增或OOM。
-
缓存击穿是热点key过期瞬间并发请求涌向DB,需用逻辑过期、随机过期时间、分级预热、互斥锁及行为验证来防控。
-
应优先使用pipeline批量发命令替代单条轮询,避免高RTT开销;对计数类操作用INCR/DECR原子增减;设值带过期统一用SET的EX/PX/NX参数;高频读不变Key应加客户端本地缓存。
-
RedisLua脚本执行失败常因忽略redis.call()返回值,应检查是否为错误表;EVALSHA需确保脚本已重载;redis.log()日志需调高loglevel且查服务端文件;KEYS必须显式声明,禁用KEYS命令。
-
主库卡顿导致从库失联时,应先执行INFOreplication检查connected_slaves、master_repl_offset和repl_backlog_active状态,再调大repl-backlog-size和client-output-buffer-limit,接着用SLOWLOGGET定位慢命令,最后校准Lettuce超时配置并排查大key。
-
主节点磁盘满导致bgsave失败,进而使从节点全量同步卡在wait_bgsave状态;需通过df-h查Redis实际dir路径磁盘使用率、日志中“Nospaceleftondevice”报错及infopersistence中rdb_bgsave_in_progress异常确认。
-
redis-cli--clusterfix并非万能修复器,仅解决Slot被多节点声明的明确冲突,对Slot丢失、元数据错乱、nodes.conf未刷新等问题无效;它只比对并修正冲突项,不处理“看似合理实则失效”的条目。
-
能,BITPOS返回第一个值为1的bit位偏移量(从0开始),需结合写入时的时间粒度和起始时间换算为真实时间,全0时返回-1。
-
应人工错峰RDB触发时间,如实例A用save8971、B用9031、C用9061,并差异化配置AOF重写阈值、禁用THP、限制maxmemory及使用cgroup隔离资源。
-
LFU频率计数器非线性增长,由lfu-log-factor和lfu-decay-time共同调控:访问按概率递增且增幅随当前值增大而衰减,初始值为5、上限255;衰减每lfu-decay-time分钟执行一次右移1位。
-
RedisCluster故障转移由主节点失联且多数主节点投票确认触发;从节点需满足复制偏移量达标、获多数主节点投票才能当选新主。
-
开启和查看Redis的安全审计日志需要编辑redis.conf文件,将appendonly设置为yes,并定义日志文件名。查看日志可通过读取AOF文件。1.编辑redis.conf,设置appendonlyyes和appendfilename。2.使用catappendonly.aof查看日志。定期管理AOF文件并确保其安全性是必要的。
-
不能。AOF是无时间戳的追加日志,不支持按时间点截断;需人工结合外部线索定位字节偏移或命令位置,再手动裁剪,并通过临时实例校验状态。
-
Redis延迟高但CPU正常通常是网络丢包或抖动所致,表现为redis-cli--latency毛刺飙升、ping标准差>10ms或丢包率>0.1%,需用tcpdump抓包分析重传与ACK丢弃,并排查云环境安全组、NAT会话老化及内核TCP参数配置。