Redis技术文章
-
Redis SINTERCARD 只返回多个集合的交集数量,不传输成员列表,适合做资格预检、标签重合度判断和批量过滤。本文从最小可运行示例开始,核对返回值、LIMIT 提前停止、键类型错误与 Redis Cluster 的同槽边界。331 收藏 -
使用 Redis GEOADD 建立门店地理索引,再用 GEOSEARCH 按半径筛选、按距离升序返回附近门店,并说明 WITHDIST、COUNT、ANY 和经纬度顺序的常见边界。331 收藏 -
Redis 8.8 新增 Array 数据结构与 ARLASTITEMS,可以直接读取最近写入的一段数组元素。本文用批量日志尾部读取演示 ARLEN、负索引、数量边界和版本兼容验收。330 收藏 -
Redis ZMPOP 适合把多个有序集合里的最高分或最低分成员一次取出并删除。本文用分片排行榜消费场景说明 COUNT、空结果、原子性、集群同槽和失败重试边界。330 收藏 -
Redis WAIT 等待副本确认,WAITAOF 等待本地或副本 AOF fsync;两者都不能把异步复制变成强一致,选择时要先分清复制安全与磁盘持久化目标。327 收藏 -
对比 Redis 普通 Pub/Sub 与分片 Pub/Sub 的传播范围、命令、集群路由和可靠性边界,帮助按全局广播或业务 shard 选择方案。327 收藏 -
Redis 分布式锁最危险的 bug 不是没加锁,而是释放时删掉了后来持有者的锁。本文从锁过期、业务变慢和重复释放的现场出发,说明唯一令牌如何确认所有权,再用 Redis Lua 脚本把校验与删除放进同一个原子动作,最后补上续期、超时和故障恢复边界。326 收藏 -
Redis Function 适合持久化、可复用的服务端逻辑,临时 Lua 脚本适合由应用按需加载的短逻辑;本文对比两者的部署、版本管理和 EVALSHA 恢复方式。326 收藏 -
Redis 更新值后 TTL 消失,通常是普通 SET 覆盖值时丢弃了原过期时间。本文用 TTL、PTTL、EXISTS 区分状态,并比较 KEEPTTL、EX/PX 与 volatile 淘汰策略。325 收藏 -
Redis COPY 的 REPLACE 会整体替换已存在的目标 key,而不是合并字段。本文用返回值、对象边界、TTL、复杂度和集群槽位说明如何安全判断复制结果。325 收藏 -
Redis 过期键并不是只靠一个定时器逐个删除:客户端访问到已过期键时会触发访问时处理,后台也会周期性抽样清理。本文用 TTL 的正数、-1、-2 返回值建立排查顺序,并说明主动过期、访问时删除和时间精度的边界。324 收藏 -
Redis SCAN 不是并发安全的静态快照:从扫描开始到结束始终存在的键会被完整迭代返回,但扫描期间被删除、新增或重新加入的键可能返回也可能不返回。本文给出重复返回、COUNT、UNLINK 和二次复查的处理方式。323 收藏 -
Redis ZRANGE 遇到相同 score 时不会按写入时间排序,而是继续比较 member。本文用排行榜和分页场景说明字典序规则,并给出可复现的二级排序设计。322 收藏 -
Redis 过期通知收不到时,重点检查 notify-keyspace-events 是否包含 E 或 K 与 x、订阅频道是否匹配,以及 expired 事件的实际触发时机和 Cluster 节点范围。321 收藏 -
Redis pipeline 负责减少批量命令的网络往返,不提供事务隔离和自动回滚。本文对比 pipeline、MULTI/EXEC、WATCH 与 Lua,帮助你按一致性需求选择方案。320 收藏