Redis技术文章
-
Redis 的 SMISMEMBER 可以一次判断多个成员是否属于同一个 Set,并按请求顺序返回 0/1 结果。本文用购物车权益集合核对重复成员、空键、返回映射和 ACL 只读权限边界。207 收藏 -
Redis CONFIG SET 只改变当前进程的生效值,重启后仍可能恢复旧配置。本文用 CONFIG GET、CONFIG REWRITE、文件校验和重启后的再次查询,核对配置路径、权限、默认值、集群节点与回滚边界。204 收藏 -
Redis Pipeline 能减少网络往返,但批次过大可能让回复堆积、客户端内存上涨,甚至拉高尾延迟。本文用基线、批次对比和分位数验收说明什么时候该拆批。204 收藏 -
Redis Lua 脚本一旦超过 lua-time-limit,会阻塞其他命令并返回 -BUSY。本文用一个长脚本现场说明如何确认阻塞、何时可以 SCRIPT KILL、写入后为什么只能重启,以及如何在脚本侧避免再次拖住主线程。196 收藏 -
Redis BITFIELD 可以把多个小整数放进一个字符串,并在一次命令中完成读取、写入和递增。本文用设备状态计数说明 u8、# 偏移、OVERFLOW SAT/FAIL 的边界,给出 redis-cli 结果核对与生产使用清单。196 收藏 -
Redis EXPIRETIME 返回键的绝对过期 Unix 时间戳,适合核对 EXPIRE 与 PEXPIREAT 写入的最终时间。文章用 TTL、PEXPIRETIME 和服务器时间对照,排查秒毫秒混用、时钟偏差、无过期键和恢复后的判断错误。192 收藏 -
Redis Cluster 返回 MOVED 或 ASK 时,客户端都需要重定向,但两者代表的槽位状态并不相同。本文用槽位迁移现场拆开路由缓存、ASKING、重试次数和故障排查边界,帮助判断哪些响应可以自动跟随、哪些情况应该先查集群状态。191 收藏 -
Redis ZSET 分页出现漏数据,通常不是 Redis 丢了记录,而是分页游标只保存 score、同分值记录缺少 member 边界,或翻页期间集合发生变化。本文用一组可复现命令拆开排序规则、游标设计和上线检查。189 收藏 -
Redis Hash 变大后,真正难排查的常是某几个字段值异常膨胀。本文用 HSCAN NOVALUES 先低成本找字段,再按需回读长度并设置告警阈值,避免把整份 Hash 搬到应用内存。187 收藏 -
Redis Lua 脚本一旦超过 lua-time-limit,会阻塞其他命令并返回 -BUSY。本文用一个长脚本现场说明如何确认阻塞、何时可以 SCRIPT KILL、写入后为什么只能重启,以及如何在脚本侧避免再次拖住主线程。184 收藏 -
Redis 连接池偶发超时,不能只把超时时间调大。本文按命令执行、连接占用和网络往返三层排查,结合 INFO clients、CLIENT LIST 与 SLOWLOG 区分服务端慢、连接池耗尽和客户端等待。182 收藏 -
Redis 在生成 RDB 快照时可能因 fork 和写时复制出现延迟抖动。本文从慢查询时间线、INFO persistence 指标和内存峰值入手,给出判断、避让与回滚方法。176 收藏 -
从 CLUSTER KEYSLOT 和 CRC16 哈希槽入手,定位 Redis Cluster 的 CROSSSLOT 报错,用 Key Tag 设计同槽键名,并验收 MGET、MULTI 与 Lua 的批量访问边界。170 收藏 -
Redis WATCH 只能在提交前发现被监视键发生变化,并不能保证事务一定成功。本文用并发写入示例拆开事务提交返回空数组、重试窗口和放弃重试的业务边界。165 收藏 -
Redis 过期键到了时间却没有立刻消失,通常不是 TTL 失效,而是惰性删除与定期采样的工作方式。本文用 TTL、EXISTS 和内存指标区分可见延迟、采样清理与大键风险。164 收藏