-
redis.call()比redis.pcall()更易触发OOM,因其失败即终止,而pcall()返回的错误表常驻Lua栈且累积不释放,RedisLua引擎仅在脚本退出时批量GC。153 收藏 -
GEORADIUS返回空结果最常见原因是经纬度顺序写反,必须经度在前、纬度在后;而高德/百度等地图API默认是纬度在前、经度在后,导致坐标存入错误位置。152 收藏 -
RedisPub/Sub无法缓冲积压消息,因其纯内存广播机制不重试、不排队,消息直接丢弃;应改用List+BRPOP实现带缓冲队列,并由业务明确管理消息生命周期。152 收藏 -
redis-cli的monitor命令可实时打印所有指令但仅限调试环境,因性能开销大、无过滤能力、输出非结构化,生产环境应禁用;推荐用slowlog(设slowlog-log-slower-than为0)替代。149 收藏 -
要定位被淘汰的key,需监控evicted_keys增量、expired_keys飙升情况,并结合Redis7.0+的MEMORYUSAGE与OBJECTFREQ抽样分析;allkeys-lru不安全,应优先用volatile-lru/lfu;LFU更耗CPU因频次衰减更新;验证key是否频繁淘汰可用PFADD+PFCOUNT埋点统计。148 收藏 -
MySQL管理数据库连接的核心在于高效配置与优化连接池,以避免资源过度消耗并提升性能。1.连接过多会导致性能下降、资源耗尽、响应延迟和连接拒绝;2.连接池核心参数包括initialSize(初始连接数)、maxActive(最大连接数)、minIdle(最小空闲连接数)和maxWait(最大等待时间),需根据业务量和服务器性能合理设置;3.调优策略包括监控连接使用情况、进行压力测试、逐步调整参数及采用动态调整机制;4.最佳实践涵盖缩短连接占用时间、使用事务、避免耗时操作、使用预编译语句及及时关闭连接;5.147 收藏 -
Redis默认单线程设计,仅用一个CPU核,多核需通过部署多个实例分摊压力;Redis7.0的--server-workers仅加速网络I/O,不提升命令执行并发。146 收藏 -
缓存击穿是热点key过期瞬间大量请求直击数据库,微服务中因多实例并发回源使DB压力放大N倍;需用原子SET命令加锁、逻辑过期替代永不过期、服务自治布隆过滤器并强同步更新。145 收藏 -
RedisGEOHASH命令返回标准Base32编码的Geohash字符串数组,长度1-12位,即使单个成员也返回如["wx4g0b0j0r0"]的数组,需取首项;仅对GEOADD添加的成员有效,未添加则返回[nil]。144 收藏 -
redis-check-aof不能修复截断的AOF文件,仅校验并截断末尾不完整命令,使文件回退至最后一个完整写入点。144 收藏 -
AOF重写加剧SSD寿命损耗,因其每次均全量生成新文件并原子替换,引发高频页擦除与搬移(写放大);频繁触发(如每小时2–3次)使SSD磨损加速,实测寿命比纯RDB缩短30%+。143 收藏 -
是的。shutdown默认执行同步RDB保存,前提是redis.conf中存在未注释的有效save规则(如save6010000),且磁盘空间充足、无阻塞命令;它会先落盘再断连最后退出。139 收藏 -
Redis主从同步中大Key会导致复制中断或延迟飙升,因其单次序列化传输阻塞复制流、触发超时断连及缓冲区溢出;需用渐进式扫描分批拆分并双写保障一致性。137 收藏 -
不能。PSUBSCRIBE仅支持glob模式(、?、[abc]),不解析冒号分隔的层级语义,news::等多星写法无效;实际可行的是单通配符前缀匹配(如news:),依赖命名规范而非Redis自动路由。137 收藏 -
空值缓存TTL应设为60s~180s并配合业务SLA,禁用null直存而用"__NULL__"等明确标记,且必须与接口层参数校验、限流及定期清理协同使用。136 收藏