程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
Redis 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
Redis 8.12-rc2 的 SEXPIRE:读路径砍掉一次往返,代价是 intset 直接跳成 hashtable
编程
Redis 8.12-rc2 的 SEXPIRE:读路径砍掉一次往返,代价是 intset 直接跳成 hashtable
2026-11-05 20:00:56
Redis 8.12 给 set 成员加了独立 TTL,实测读路径快一倍、写路径没变快;但给 300 个整数的 intset 里一个成员设过期,编码会直接跳到 hashtable,内存涨 15 倍且 SPERSIST 后不回退。
Redis
数据库
性能
运维
Valkey 9.0 与 9.1.x 混跑:listpack 编码不兼容让 RDB 加载失败,CLUSTER SLOTS 多出的字段会打挂旧客户端
编程
Valkey 9.0 与 9.1.x 混跑:listpack 编码不兼容让 RDB 加载失败,CLUSTER SLOTS 多出的字段会打挂旧客户端
2026-11-02 21:05:51
Valkey 滚动升级窗口里两个会让节点直接不可用的兼容点:9.0 与 9.1.x 的 listpack 编码对某些长度条目不一致,导致 RDB 加载与复制失败(9.1.3 修复);9.1 起 CLUSTER SHARDS/SLOTS 每节点多出 availability-zone 字段,严格解析的旧 go-redis 会拒收。附排查命令与 9.1.3/9.2 RC 运维相关变更。
Valkey
Redis
集群运维
滚动升级
双击 Submit 插了两行:一次性 token、幂等键、CSRF 各挡哪种重复
编程
双击 Submit 插了两行:一次性 token、幂等键、CSRF 各挡哪种重复
2026-11-02 00:04:38
CSRF token 是 per-session 的稳定值,连续提交两次都通过;Idempotency-Key 是 header,裸表单浏览器不会带。所以只有 CSRF 的表单双击照样插两行。这篇把一次性提交 token 的 Mint/Scan/Consume 三步写成可跑的 Go 代码,并给出四个判据层面的错误:SETNX+EXPIRE 非原子、select+delete 校验 token 有并发窗口、指纹模式误杀相同内容的合法提交、以及用 429 回应重复提交等于叫客户端退避重试。
重复提交
表单防重
幂等
Redis
Go
HTTP
Redis 集群 bus 端口默认没有认证:8.4.7 的告警开关与 8.4.8 的 4GB PUBLISH 溢出
编程
Redis 集群 bus 端口默认没有认证:8.4.7 的告警开关与 8.4.8 的 4GB PUBLISH 溢出
2026-11-01 21:05:52
Redis Cluster 的 bus 端口默认既无 TLS 也无其它认证,8.4.7 起节点启动会告警,并新增 cluster-bus-port-protected-mode;开了严格模式却没开 tls-cluster 会直接拒绝启动。另含 8.4.8 的 >4GB PUBLISH 堆溢出修复、8.4.6 的 ACL key 绕过与滚动升级顺序。
Redis
集群
运维
安全加固
Redis 8.12 RC1:集合成员级 TTL、BLESS 防淘汰与压缩位图进核心
资讯
Redis 8.12 RC1:集合成员级 TTL、BLESS 防淘汰与压缩位图进核心
2026-10-30 21:10:26
Redis 8.12 RC1 带来集合成员级 TTL(SEXPIRE/STTL 一族)、用 BLESS 保护关键 key 不被淘汰、redis-roaring 合入核心并新增 BITRANGEINTARRAY,以及 CLUSTER MIGRATION STATUS 两阶段进度。逐条说明用法、与 key 级过期的区别和风险,并附安全修复与 bug 修复选摘。
Redis
新版本
缓存
运维
Redis 8.4.6 安全修复:ACL 键校验绕过与恶意 RDB 的 RCE 路径
综合
Redis 8.4.6 安全修复:ACL 键校验绕过与恶意 RDB 的 RCE 路径
2026-10-29 21:08:15
Redis 8.4.6 是安全更新:ACL 对 SORT/GEORADIUS/XREAD 的键校验可能与实际访问的键不一致(#15478),EVAL 参数个数错误时 argv 越界(#14847),恶意 RDB 里的 SLOT_INFO 可致内存破坏直至 RCE。附多租户加固清单与升级检查顺序。
Redis
安全
运维
Redis 8.4 原子槽迁移:CLUSTER MIGRATION 与 CLUSTER SLOT-STATS 实操
综合
Redis 8.4 原子槽迁移:CLUSTER MIGRATION 与 CLUSTER SLOT-STATS 实操
2026-10-28 21:07:50
Redis 8.4 的 CLUSTER MIGRATION 把槽与数据合并成一次原子操作,消掉迁移期间的不可用窗口;CLUSTER SLOT-STATS 能按槽看 key 数、CPU 与网络 I/O。文中给出迁移步骤、校验与回滚思路,并说明迁移中 FT/TS 聚合查询为何会返回部分结果或重复。
Redis
集群
运维
槽迁移
Redis 8.4.7 / 8.4.8 集群安全修复:总线端口无认证,以及 4GB PUBLISH 的堆溢出
综合
Redis 8.4.7 / 8.4.8 集群安全修复:总线端口无认证,以及 4GB PUBLISH 的堆溢出
2026-10-28 21:03:21
Redis 8.4.7 与 8.4.8 两个安全版本修了 cluster bus 无认证、事务内 ACL 回收绕过、TimeSeries/Vector Set 崩溃,以及 4GB PUBLISH 传播时的堆溢出。文中给出确认 tls-cluster 状态、收敛总线端口、滚动升级顺序,以及开启 cluster-bus-port-protected-mode 前必须先配好 TLS 的原因。
Redis
集群
安全更新
运维
Redis 这几个 RCE 都写着「需要已认证」:把 ACL 当边界,比只绑 127.0.0.1 更接近实际
编程
Redis 这几个 RCE 都写着「需要已认证」:把 ACL 当边界,比只绑 127.0.0.1 更接近实际
2026-10-26 21:07:45
RESTORE 反序列化、Lua use-after-free、阻塞客户端驱逐三条可导致 RCE 的 advisory 前置条件都写着「已认证用户」。只绑 127.0.0.1 解决的是谁能连上,不是能做什么。这篇给 Redis 8.10.3 的 cluster bus 4GB PUBLISH 修复背景,以及账号粒度的 ACL 写法与 ACL LOG 观察方法。
Redis
安全
运维
Redis 原子槽迁移:CLUSTER MIGRATION 把 -ASK 和 TRYAGAIN 从扩缩容里拿掉了
综合
Redis 原子槽迁移:CLUSTER MIGRATION 把 -ASK 和 TRYAGAIN 从扩缩容里拿掉了
2026-10-24 21:06:09
逐 key MIGRATE 做扩缩容时,客户端会撞上 -ASK、多 key 命令的 TRYAGAIN、迁移失败后的脏状态,以及副本把「已迁走」回成「已删除」。Redis 8.4 的 CLUSTER MIGRATION 改成整槽复制加实时增量、最后一次原子移交。本文给上线流程、选槽依据,以及搜索与时间序列命令在迁移窗口内的已知限制。
Redis
集群
运维
DISCARD 不是万能重置:PostgreSQL、Redis、MySQL 清理会话状态的边界与代价
编程
DISCARD 不是万能重置:PostgreSQL、Redis、MySQL 清理会话状态的边界与代价
2026-10-23 00:03:47
连接池归还连接时该跑哪条重置命令?拆开 PostgreSQL DISCARD ALL 的等价语句,指出 RESET ALL 回到会话启动值、不能在事务块内(25001)、DISCARD SEQUENCES 造成序列空洞、DISCARD PLANS 清空计划缓存的代价;对比 Redis 的 DISCARD 与 6.2 的 RESET、MySQL 的 COM_RESET_CONNECTION,并给 PgBouncer 池化模式下的取舍与上线检查清单。
DISCARD
PostgreSQL
Redis
MySQL
连接池
会话状态
队列
秒杀库存回滚别用 INCR:扣减流水、同槽 key 与乱序补偿
编程
秒杀库存回滚别用 INCR:扣减流水、同槽 key 与乱序补偿
2026-10-22 00:04:20
秒杀场景里取消订单后把库存还回 Redis,直接 INCRBY 会因重试重复加量且无法追溯。这篇只谈缓存层的回滚:用扣减流水 hash 做幂等、stock 与 history 必须同 hash tag 否则 EVAL 报 CROSSSLOT、回滚先落扣减后落的乱序怎么用顺序消息或对账兜底、「查不到流水就当成功」在 key 过期和淘汰时为何是错的,以及分段库存下回滚必须回到原 bucket 否则碎片化。
库存回滚
Redis
秒杀
Lua
Cluster
幂等
库存超卖
Redis 8.4 XREADGROUP CLAIM:一条命令同时取空闲 pending 和新增条目
编程
Redis 8.4 XREADGROUP CLAIM:一条命令同时取空闲 pending 和新增条目
2026-10-19 21:04:19
Redis 8.4 给 XREADGROUP 加了 CLAIM min-idle-time,一次调用同时认领空闲 pending 与读取新增条目,替掉 XAUTOCLAIM 加 XREADGROUP 的两段式消费循环。含旧循环对照、阈值与重试预算的换算、XPENDING 监控与幂等边界。
Redis
消息队列
Streams
运维
队列
Redis 8.4 给 SET 加了 IFEQ/IFDEQ:条件写可以替代手写 Lua 乐观锁
编程
Redis 8.4 给 SET 加了 IFEQ/IFDEQ:条件写可以替代手写 Lua 乐观锁
2026-10-19 21:01:23
Redis 8.4 的 SET 新增 IFEQ/IFNE/IFDEQ/IFDNE 条件写,配合 DIGEST、DELEX、MSETEX 就能替代手写 Lua 做乐观锁与条件批量。含命令示例、返回值语义、字节比较与集群限制,以及仍该用 Lua/WATCH 的场景。
Redis
乐观锁
CAS
Lua
缓存
幂等防重不止唯一索引:幂等键的四层拦截与三个失效点
编程
幂等防重不止唯一索引:幂等键的四层拦截与三个失效点
2026-10-19 00:04:20
同一个请求被处理两次,问题往往不在业务代码某一行,而在幂等键设计。这篇划清幂等只在写操作上成立,给出键的三种生成方式与粒度、网关/Redis 原子消费/MySQL 唯一索引/状态机条件更新的四层拦截顺序,以及「每次重试重生成键」「先查后写」「去重记录与业务不同事务、TTL 短于重试窗口」三个失效点,附 Go 的 1062 判断与并发验证方法。
幂等防重
幂等键
Redis
MySQL
重复提交
优惠券
订单超时关单的三条触发链路:RabbitMQ 队头阻塞、Redis ZSET 抢单与扫表兜底
编程
订单超时关单的三条触发链路:RabbitMQ 队头阻塞、Redis ZSET 抢单与扫表兜底
2026-10-18 00:03:48
订单超时关单的触发链路怎么选:为什么要把到期时刻存成 expire_at、扫表怎么用游标分批和分片、RabbitMQ TTL+DLX 的队头阻塞与 x-delayed-message 插件代价、RocketMQ 18 级延时上限、Redis ZSET 用 Lua 原子抢任务以及 keyspace notification 为何不能当调度器。另含三个真实翻车点:消息里的状态快照不能当事实、积压恢复集中放量、关单双写失败靠兜底。
订单关单
延时队列
RabbitMQ
RocketMQ
Redis
定时任务
订单状态机
Valkey 9.2.0-rc1 运维笔记:forkless RDB、服务端热 key、给运维留连接位
编程
Valkey 9.2.0-rc1 运维笔记:forkless RDB、服务端热 key、给运维留连接位
2026-10-17 21:10:10
Valkey 9.2.0-rc1 里三项运维直接相关的变化:forkless RDB 快照的开关与验证方法、服务端 HOTKEYS 近似 Top-K 检测的适用边界、priority-subnets 与 maxclients-reserved 预留管理连接位,另附 ACL roles、复制限流等条目。
Valkey
Redis
运维
缓存
Redis 8.2 的 XACKDEL/XDELEX:多消费者组下,确认并删除流条目一条命令搞定
编程
Redis 8.2 的 XACKDEL/XDELEX:多消费者组下,确认并删除流条目一条命令搞定
2026-10-15 21:03:21
Redis 8.2 新增 XACKDEL 与 XDELEX,把「确认后清理已确认条目」的应用层逻辑收回 Redis,并用 KEEPREF/DELREF/ACKED 控制消费者组引用处理。文中对比引用计数延迟回收与确认即删两条路线,并附 BITOP 新算子、CLUSTER SLOT-STATS 与内存性能数字。
Redis
Stream
缓存
数据库
XA
Redis 8.8 的 INCREX:把 INCR + EXPIRE 限流合成一条原子命令
代码
Redis 8.8 的 INCREX:把 INCR + EXPIRE 限流合成一条原子命令
2026-10-14 21:02:54
Redis 8.8 新增的 INCREX 把 INCR、INCRBY、上下界与过期合并成一条原子命令,专门做窗口计数限流,省掉 INCR+EXPIRE 的事务包装。另记录新的 Array 数据结构、hash 字段级通知与 8.8 的性能优化项。
Redis
限流
缓存
新命令
性能
Redis Open Source 8.6:XADD 幂等、LRM 淘汰与 HOTKEYS
编程
Redis Open Source 8.6:XADD 幂等、LRM 淘汰与 HOTKEYS
2026-10-08 21:04:07
Redis Open Source 8.6 给 XADD 加了 IDMP/IDMPAUTO 至多一次投递保证,新增 volatile-lrm/allkeys-lrm 淘汰策略与 HOTKEYS 热点键命令,并支持基于 TLS 证书 CN 自动映射 ACL 用户。本文逐项说明适用场景与取舍,附 8.6.2 的 IDMP 状态持久化修复。
Redis
Streams
淘汰策略
热点键
TLS
崩溃
DI
消息
投递
XA
Redis 8.2.9 修了什么:CMSketch 堆越界写、ACL key 绕过与 Vector Sets UAF
资讯
Redis 8.2.9 修了什么:CMSketch 堆越界写、ACL key 绕过与 Vector Sets UAF
2026-10-07 21:03:40
Redis Open Source 8.2.9(2026-08-17,安全更新)修复 CVE-2026-62356 CMSketch RDB 加载堆越界写、恶意 RDB 的 SLOT_INFO 越界导致内存破坏(可 RCE)、SORT/GEORADIUS/XREAD 的 ACL key 权限绕过、EVAL 等 KEYNUM 命令的 argv 越界,以及 Vector Sets 一系列越界与 use-after-free。
Redis
安全更新
CVE
ACL
运维
2.9
缓冲区
UAF
Redis 8.10.2 安全修复:cluster bus 认证与事务 ACL 撤销
资讯
Redis 8.10.2 安全修复:cluster bus 认证与事务 ACL 撤销
2026-10-06 21:03:43
Redis 8.10.2 安全修复:cluster bus 协议在未启用 tls-cluster 时没有自身认证,新增 cluster-bus-port-protected-mode(默认 no);事务中排队的命令曾能访问已被撤销 ACL 权限的 key。附配置片段、bus 端口加固与升级建议。
Redis
集群
安全
ACL
事务
RESP3 不是 JSON:14 行类型表、HELLO 握手与客户端缓存
编程
RESP3 不是 JSON:14 行类型表、HELLO 握手与客户端缓存
2026-10-06 00:03:53
RESP 是 Redis 的线缆协议,不是 JSON/序列化库。本文给出 RESP2/RESP3 的 14 行首字节类型表、HELLO 握手语法、RESP3 新增类型(Map/Set/Push/Verbatim)与客户端缓存动因,以及 Kvrocks 未落地的原因和 Go 手写 Reader 的解析要点。
resp协议
RESP
RESP3
Redis
序列化协议
HELLO
握手
客户端缓存
协议解析
未来
Valkey 9.2.0-rc1:无 fork RDB、Path Hash、ACL 角色与 B+ tree sorted set
编程
Valkey 9.2.0-rc1:无 fork RDB、Path Hash、ACL 角色与 B+ tree sorted set
2026-10-05 20:04:41
Valkey 9.2.0-rc1(2026-09-16,预发布)发布说明解读:新增无 fork RDB 快照(内存峰值降低但写入吞吐降约15%,不影响 AOF rewrite)、radix tree 的 Path Hash 数据类型、可复用 ACL 角色与 ACL DIGEST、大批量 sorted set 改用 B+ tree(OBJECT ENCODING 变 btree)、INCREX、热 key 检测、复制限流与优先级客户端,含配置步骤与取舍。
Valkey
Redis
数据库
运维
RDB
快照
2.0
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
下一页
共 6 页
到第
页
确定