-
RedisRDB不支持并行拉取切片,因其为单文件顺序写入二进制快照,无分片格式与元数据索引;并行只能在实例粒度实现,即多master同时BGSAVE。191 收藏 -
必须显式配置client-output-buffer-limit,否则普通客户端无输出缓冲区上限,易致内存耗尽;需为normal、pubsub等类型分别设置hard/soft限制,尤其pubsub缓冲区最易失控。460 收藏 -
SAVE命令会阻塞Redis主进程同步写入RDB文件,期间不处理任何请求;适用于停机前且可接受中断的场景,但生产环境应优先用BGSAVE,配合AOF才能保障数据不丢。207 收藏 -
LFU频率计数器非线性增长,由lfu-log-factor和lfu-decay-time共同调控:访问按概率递增且增幅随当前值增大而衰减,初始值为5、上限255;衰减每lfu-decay-time分钟执行一次右移1位。424 收藏 -
正确做法是用EVAL执行Lua脚本保证原子性,结合PTTL和TIME实现毫秒级令牌补充,避免客户端时间依赖;Redis6.2+可用CL.THROTTLE简化实现。377 收藏 -
常用的Redis性能监控工具包括Redis自带的INFO命令、慢查询日志、RedisInsight、Prometheus和Grafana组合以及Redis-benchmark。1.INFO命令适合快速诊断问题,但数据粒度较粗。2.慢查询日志有助于优化性能,但配置需谨慎。3.RedisInsight提供直观的监控和分析功能,但需考虑资源消耗。4.Prometheus和Grafana组合适用于大规模集群监控和长期趋势分析,部署复杂。5.Redis-benchmark用于测试性能极限,需结合实际业务场景分析。372 收藏 -
Redis分布式锁高并发下饿死请求的根本原因是续期机制与过期时间不匹配、客户端异常未释放锁,且重试无退避和超时兜底;须用随机退避、总等待超时、Lua原子删锁,单节点自动续期锁比Redlock更稳。286 收藏 -
Redis内存过载时jemalloc拒绝分配,是因内部碎片或保留页不足主动返回NULL触发OOMerror,与LinuxOOMKiller无关;关键看INFOmemory中allocator_allocated、active、mapped的剪刀差而非used_memory。208 收藏 -
XDEL对已消费消息无效,因其仅逻辑删除未被任何消费者组读取的消息;已入PEL的消息调用XDEL会静默返回0,必须用XACK释放再XTRIM裁剪。135 收藏 -
优先用redis-check-aof--fix自动修复尾部无效数据,若失败则需结合RDB回滚或从节点同步;切勿手动编辑或截断,避免破坏RESP协议完整性。256 收藏 -
用iptables模拟Redis哨兵网络分区需双向封禁节点间通信(INPUT+OUTPUT),匹配6379/26379端口,确保Quorum计算失效;恢复时须精准删除规则而非清空链,避免锁死服务器。467 收藏 -
红包拆解必须用RedisLua脚本实现原子操作,通过线段切割法生成严格满足总和与最小值约束的随机金额,并配合EVALSHA调用、兜底校验及集群哈希标签设计确保资金安全与高并发正确性。106 收藏 -
Redis布隆过滤器不支持动态扩容,BF.RESERVE设定的capacity和error_rate不可修改;扩容需手动迁移数据并切换key,参数选错易致内存激增或OOM。457 收藏 -
Bitmap用1bit存每日签到状态,1万用户年数据仅13KB,String存“1”/“0”需3.6MB;需按年分key、用BITPOS+BITCOUNT算连续天数,offset须为小整数且避免客户端溢出。401 收藏 -
缓存空值TTL推荐2–5分钟,用SETEX或set(key,"NULL",300,TimeUnit.SECONDS),避免永不过期或24小时;内容用"NULL"等明确标记,前置参数校验更早拦截无效请求。184 收藏