Redis技术文章
-
Redis Sentinel故障转移时,客户端不能继续依赖旧主节点地址。本文以服务发现、连接池、超时、退避和重试边界为主线,给出一套可落地的重连配置方法。108 收藏 -
Redis BLMOVE 在源列表暂时没有元素时会阻塞,timeout 到期返回 nil 或 null,表示本次移动没有完成。本文说明如何用 EXISTS、TYPE、LLEN 观察源键,并处理补查时的并发竞态。108 收藏 -
Redis COPY 可以把一个键的值复制到当前或指定逻辑数据库;目标键已存在时默认返回 0,使用 REPLACE 才会覆盖。本文用 redis-cli 说明 DB、REPLACE、返回值、TTL 和集群哈希槽边界。108 收藏 -
RediSearch FT.AGGREGATE 的 APPLY 会按记录计算表达式并用 AS 生成临时属性,结果还能继续交给 GROUPBY、REDUCE 和 SORTBY。本文用价格乘数量、日期分组和 LOAD 示例说明字段生命周期、管道顺序、类型与缺失值边界。108 收藏 -
Redis 布隆过滤器的 capacity 是初始子过滤器容量,超过后默认会创建新的子过滤器;每个子过滤器都有自己的位数组和哈希函数,因此 SIZE 与 FILTERS 会随扩容增加。本文用 BF.RESERVE、BF.INFO 和参数取舍说明如何定位增长原因。107 收藏 -
介绍 Redis FUNCTION DUMP 如何导出全部函数库的序列化二进制载荷,并说明使用 redis-cli 保存、传输和通过 FUNCTION RESTORE 恢复时的策略边界。107 收藏 -
从最近访问、累计频率、热点迁移和 TTL 设计几个维度比较 Redis 的 allkeys-lru 与 allkeys-lfu,并给出配置和观测检查清单。106 收藏 -
围绕 Redis EVALSHA 返回 NOSCRIPT 的场景,说明脚本缓存为什么会缺失,如何用 SCRIPT EXISTS、SCRIPT LOAD 和 EVAL 完成有边界的回退,并区分摘要错误、实例切换、权限错误与执行超时。106 收藏 -
Redis FUNCTION STATS 只能观察当前正在执行的函数,本文用 Redis 8.0 的真实长函数复现 running_script、duration_ms 与 engines 返回值,并说明它和历史调用统计的边界。105 收藏 -
缓存穿透不能只靠单一缓存策略。本文把 Bloom Filter、短 TTL 空值缓存和原子回源限流组合起来,说明请求顺序、参数边界、Go 示例与监控指标。105 收藏 -
Redis GEOSEARCH 支持以成员或经纬度为中心,用 BYRADIUS 查询圆形范围、用 BYBOX 查询矩形范围,并可通过 WITHDIST、WITHCOORD、ASC、DESC、COUNT 组合出附近位置列表。本文用一组可复现数据说明参数和返回结果。105 收藏 -
Redis Lua 接收 JSON 时,ARGV 仍是原始字符串。本文用一次解码、字段类型校验和明确的写入/返回转换,处理字符串、数字、布尔值与 Lua 表混用带来的误判。104 收藏 -
Redis Hash 多字段读取可用 HMGET,Redis 8.0 起还可用 HGETEX 同时设置所选字段 TTL。对照整键 EXPIRE、字段过期、版本兼容与续期副作用,说明如何按缓存生命周期选择。104 收藏 -
Redis淘汰策略需要同时匹配候选键范围与热点工作集。本文用假设活动缓存说明LRU、LFU、随机和TTL策略的取舍,给出配置与只读观察示例,强调热点保留不是保证,容量与回源约束仍须独立考虑。103 收藏 -
Redis 的 LFU 淘汰并不是精确统计访问次数,而是用概率计数器配合衰减周期估算热点。本文从 allkeys-lfu 的工作边界出发,解释 lfu-log-factor、lfu-decay-time 如何影响判断,并给出可复现的验收步骤与误判处理方法。101 收藏