Redis技术文章
-
Redis Sentinel 故障转移后,不要只凭一个地址判断成功。本文用当前主节点地址、实例角色和配置纪元三类信息,说明怎样确认切换已经完成。496 收藏 -
用 keyspace notification 实时观察 Redis 被 maxmemory 淘汰的键名,再用 INFO stats 的 evicted_keys 做累计核对,覆盖单机、断线和 Cluster 边界。378 收藏 -
Redis RESP3 并不是把数组随机改成 map,而是协议版本决定了命令返回类型。本文用 HGETALL 说明 RESP2 与 RESP3 的原始差异、HELLO 协商方式、客户端解码边界以及不能依赖 map 顺序的兼容性注意事项。367 收藏 -
Redis SETRANGE 按零基偏移覆盖字符串片段,key 不存在时按空字符串处理,偏移超过当前长度会补零字节。本文说明返回长度、字节偏移、go-redis 错误处理和大偏移的使用边界。288 收藏 -
Redis HINCRBYFLOAT 遇到不存在的 Hash 字段时会按 0 参与浮点递增并写回结果。本文区分直接累计、显式基线、非法数值和错误 key 类型,并给出 go-redis 的错误处理写法。430 收藏 -
Redis SET 可以用 NX 只在 key 不存在时写入,并用 EX 或 PX 同时设置过期时间,适合实现短生命周期幂等锁。本文说明抢锁返回值、唯一 token、安全释放和单实例适用边界。278 收藏 -
Redis ZRANGE 加上 WITHSCORES 后会把成员和分数交替返回。本文说明如何按相邻位置保留对应关系,并给出 go-redis 的结构化读取方式、空结果处理、索引范围与分数精度边界。404 收藏 -
Redis Lua 中的 cjson.encode 会把 Lua 值编码为 JSON 字符串。本文用对象和数组两个最小示例说明键结构、返回结果、终端转义与混合键边界,帮助你避免把 Lua 表直接返回和显式 JSON 编码混为一谈。212 收藏 -
Redis BITCOUNT 用来统计字符串值中被置为 1 的 bit 数量。本文从版本变化、整值统计、BYTE 与 BIT 区间、负索引、空键语义和 O(N) 成本几个方面说明怎样正确使用。114 收藏 -
Redis 有序集合需要同时读取多个成员分数时,可以用 ZMSCORE 一次提交多个成员,并按请求顺序接收结果。本文说明版本边界、nil 处理、复杂度以及与 ZSCORE、ZRANGE 的选择区别。266 收藏 -
Redis SET 的 NX 决定是否允许写入,EX 负责给成功写入设置新的秒级 TTL,KEEPTTL 则保留已有 TTL。本文用三种迁移场景拆开这些参数的组合边界,避免更新缓存时误续期或误覆盖。280 收藏 -
Redis ZINTERCARD 可以只返回多个有序集合的交集数量。本文从键准备、命令参数和匹配门槛出发,说明精确计数、LIMIT 提前停止、不存在键和集群多键边界。474 收藏 -
Redis Streams 的 XPENDING 先用摘要查看消费组整体积压,再用扩展形式按消费者筛选消息 ID、空闲时间和投递次数,本文给出参数顺序、常见误区与排查边界。278 收藏 -
从 CROSSSLOT 现象出发,说明 Redis Cluster hash tag 的取值规则、业务键设计、CLUSTER KEYSLOT 检查方式,以及共槽位与热点之间的边界。450 收藏 -
Redis WAIT 等待写命令被副本确认,WAITAOF 进一步等待本地或副本将写入 fsync 到 AOF。本文用最小命令区分两者的等待对象、返回值、超时和强一致边界。180 收藏