Redis技术文章
-
Redis ACL 需要同时配置命令白名单和键模式:命令规则决定能执行什么,~pattern 决定能访问哪些键。本文以业务账号为例,说明如何从 reset 开始定义最小权限,并用 ACL GETUSER、DRYRUN 和 LOG 检查结果。244 收藏 -
Redis MEMORY USAGE 返回的是单个键及其值的内存估算,不等于整个实例的 used_memory。理解默认 SAMPLES 5、SAMPLES 0 和 INFO memory 的边界,才能正确判断嵌套对象与容量问题。242 收藏 -
本文用 GEOSEARCH 演示 Redis 地理距离筛选,说明 FROMLONLAT、BYRADIUS、ASC、COUNT、WITHDIST 和 WITHCOORD 的组合方式,并排查空结果、单位误读、坐标顺序和 ANY 截断问题。242 收藏 -
Redis Stream 长期运行后,按消息 ID 清理历史记录比按条数裁剪更容易贴合时间窗口。本文用 XTRIM MINID 对比精确裁剪与近似裁剪,说明 LIMIT、消费组 PEL 和回滚验收的实际边界。241 收藏 -
用 Redis HSCAN 的 cursor 循环渐进读取大型 Hash,解释 COUNT、MATCH、NOVALUES 的边界,以及数据变化时如何用幂等处理降低重复和漏读风险。237 收藏 -
Redis 7.4 以后可以给 Hash 的单个 field 设置过期时间。本文说明 field 到期后 HGETALL 的实际返回、空 Hash 判断,以及用 HTTL 排查 HSET 覆盖清除 TTL 的方法。236 收藏 -
介绍 Redis Sentinel 通过服务名获取当前主节点地址的配置与客户端实现,覆盖切换刷新、连接重建、端口映射和异步复制边界。236 收藏 -
Redis ACL 不只是给用户加密码,还要把命令类别、键名范围和连接验证一起收紧。本文用 SETUSER 配置一个只读报表账号,核对 ACL LIST、ACL DRYRUN 与真实连接的权限边界。234 收藏 -
Redis OBJECT ENCODING 能直接看到键当前采用的内部编码。本文从内存上涨现场出发,用字符串、Hash 和 Set 的实际命令核对 embstr、listpack、hashtable 等编码,解释压缩阈值变化、自动升级条件和生产复查边界。233 收藏 -
用 Redis ZSET 的 score 表示到期时间,拆清轮询频率、ZPOPMIN 原子取出、重复消费和故障恢复边界,给出一套可落地的延迟任务实现方案。232 收藏 -
Redis WATCH 事务被放弃时,不要盲目重试所有错误。本文用 Go 示例说明如何识别 TxFailedErr、保持事务连接、设置退避上限并完成反向验证。230 收藏 -
Redis Cluster 使用分片 Pub/Sub 后,频道是否活跃、订阅者到底在哪个节点,不能再只看 PUBSUB CHANNELS。本文用 PUBSUB SHARDCHANNELS、SHARDNUMSUB 和节点范围核对分片频道,拆开模式匹配、活跃定义与故障排查边界。228 收藏 -
Redis 7.4 起可用 HEXPIRE 或 HPEXPIRE 给 Hash 中的指定字段设置独立过期时间。本文给出完整命令流程、HTTL/HPTTL 检查方法、条件选项、覆盖字段清除 TTL 的边界,以及旧版本替代方案。228 收藏 -
数据库 · Redis | 1个月前 | Redis · 缓存 · 运维排查 · redis Pub/Sub Keyspace Notifications 过期通知 notify-keyspace-events
Redis 的过期通知适合做观测和轻量联动,却不能天然当成可靠消息。本文从过期事件漏收现场出发,核对 notify-keyspace-events、订阅连接和 expired 事件边界,再用补偿扫描与幂等处理收住通知丢失风险。226 收藏 -
用 Redis Lua 脚本把库存校验、扣减和请求记录写入放进同一次执行,配合 KEYS、ARGV、返回码与幂等记录处理重复请求、库存不足和集群键位边界。226 收藏