Redis技术文章
-
cluster-node-timeout合理值需根据网络P95延迟×2~3倍设定,局域网常见5000~8000ms,跨机房12000~15000ms,容器环境不低于8000ms;须全节点一致,CONFIGSET仅内存生效,持久化需改配置文件并重启;扩缩容前应临时调大,且tcp-keepalive需配合设置。417 收藏 -
RedisPub/Sub不支持自动消息压缩,因PUBLISH内容直写输出缓冲区,绕过LZF等内存压缩逻辑;需客户端自行压缩/解压,并统一算法;高频短消息推荐LZ4/Snappy;长期应改用Stream替代。415 收藏 -
热点商品详情被每个接口实例重复读取时,可以用 Redis 的 CLIENT TRACKING 把副本留在进程内存,同时接收键变更失效消息。文章给出 BCAST 前缀划分、失效处理和断线回收的实战流程。413 收藏 -
Pub/Sub是无存储的实时广播机制,消息断连即丢,适合允许丢失的在线通知;Stream是带ACK的持久化消息队列,支持回溯、消费者组和精确控制,但需手动管理XACK与MAXLEN。412 收藏 -
排行榜看起来只是查个 TOP 列表,真正落地时还要处理加分、我的排名、分页、同分规则、周期榜和过期清理。本文按完整工作流拆解 Redis ZSET 排行榜设计。407 收藏 -
Redis6.0多线程不加速命令执行,仅I/O多线程+pipeline组合可提升导入效率;需客户端用pipeline打包发送,且主线程不饱和时才有效。406 收藏 -
Redis Sorted Set 用 ZRANGE BYSCORE 做时间范围分页时,重复分数和闭区间很容易让数据重复或漏掉。本文从线上分页现场出发,给出 score 加 member 的边界游标写法、复查命令和回滚判断。405 收藏 -
Redis连接空闲后收不到数据主因是防火墙/NAT静默丢包,须主从节点均配置tcp-keepalive300并重启生效;该参数控制空闲300秒后发首探,不读取内核参数,需ss-tnp验证timer列是否显示keepalive。403 收藏 -
volatile-lru不适合社交关系链,因其仅淘汰带过期时间的key,而关系数据作为主数据映射不应设TTL;强行加EXPIRE会引发雪崩与CPU升高;allkeys-lfu更匹配二八流量特征,配合调大maxmemory-samples和合理配置LFU衰减可提升淘汰精准度。403 收藏 -
从 Redis Key 生命周期治理趋势入手,分析散落 Key、无 TTL、大 Key 和过期策略带来的问题,给出规则登记、扫描任务、告警处理、复盘指标的渐进式采用路径。400 收藏 -
Redis通过硬编码魔数“REDIS”识别混合AOF中RDB段,匹配后切换至AOF解析模式;RDB损坏则直接报错不进入AOF阶段,且无法手动拼接或用redis-check-aof修复。399 收藏 -
ZREMRANGEBYSCORE默认闭区间,需用“(”语法实现开区间;误删风险高,执行前须用ZRANGEBYSCORE预查;大ZSet范围删除应分批处理,Redis7.0+支持LIMIT,旧版需客户端循环;ZREMRANGEBYRANK与ZREMRANGEBYSCORE语义不同,不可混用。396 收藏 -
Host模式下Redis集群初始化失败,因节点默认上报127.0.0.1导致冲突,必须显式配置bind和cluster-announce-ip为宿主机真实IP,并开放客户端端口及对应+10000总线端口。391 收藏 -
数据库 · Redis | 2星期前 | Redis · go · Pipeline · 批处理 · 重试 · 幂等性 · 重试 go-redis 幂等键 批量写入 Redis Pipeline 逐条结果
Redis Pipeline 能减少网络往返,却不会把一批命令变成事务。用 go-redis 演示批量写入的部分成功、结果核对、可安全重试的边界,以及如何用幂等键避免重试造成重复副作用。391 收藏 -
Redis Functions 从 7.0 开始为服务端逻辑提供了可加载、可复用的库模型,但它不是所有 Lua 脚本的直接替代。本文用请求级脚本调用、FUNCTION LOAD、FCALL 和集群键约束拆出迁移边界。386 收藏