-
Redis CLIENT PAUSE 适合在升级或主从切换时暂时控制客户端请求。本文用 WRITE 与 ALL 两种模式拆解读写隔离、CLIENT UNPAUSE 恢复和维护窗口验收,避免把暂停命令当成无条件的全局锁。
-
在MySQL中,INSERT IGNORE堪称处理冲突的最简方案,它能在面对主键或唯一索引冲突时,悄无声息地忽略,既不报错,也不更新,更不会加锁;而在PostgreSQL里,对应的是ON CONFLICT (列) DO NOTHING,但它需要明确指定冲突目标,语法要求更为严格;SQL Server
-
解释 Redis SET NX EX 在键不存在、已有 TTL 和条件更新场景下的真实行为,区分 NX 条件写入、EX 重置租期与 KEEPTTL 保留剩余 TTL,并给出锁初始化、更新和排查命令。
-
Redis RESP3 不是把 RESP2 换个版本号,而是会改变部分命令的返回类型。本文用 Go 和 go-redis 拆开 HGETALL 的 map/array 差异,给出升级判断、解析边界和灰度验证办法。
-
MySQL CTE 物化后变慢,先用 EXPLAIN 确认合并或物化策略,再用 MERGE 与 NO_MERGE 对照过滤下推、临时结果和索引成本,最后按引用次数与查询结构选择方案。
-
判断 MySQL 派生表物化后是否溢出磁盘,不能只看 Created_tmp_disk_tables。本文从 EXPLAIN、tmp_table_size、TempTable 资源、Performance Schema 和 InnoDB 临时表空间五个证据点说明如何定位。
-
Redis Lua 脚本返回多个值时,先把结果设计成稳定的索引数组,再按客户端类型解析;本文说明 Lua 表、RESP 数组、Python list、Go 切片和空值之间的映射。
-
MySQL Performance Schema 查平均耗时时,应从 events_statements_summary_by_digest 读取 AVG_TIMER_WAIT,并按皮秒换算为毫秒。本文说明采集开关、查询写法、聚合边界和短窗口核对方法。
-
Redis GEOSEARCH 可以从地理索引中按圆形或矩形范围筛选成员。本文从配送围栏误判场景出发,拆开 BYRADIUS、WITHDIST、ASC、COUNT 与 ANY 的组合边界,给出可核对的命令结构和排障判断。
-
Redis 8.8 新增 INCREX,把计数、上限和过期时间放进一个原子命令。文章用 redis-cli 演示 60 秒窗口限流,解释 UBOUND、ENX、SATURATE 的差别,并给出旧版本回退方案与检查边界。
-
Redis COPY 适合在同一实例内复制缓存或配置键,但 REPLACE、DB 和 Redis Cluster 的哈希槽限制很容易被忽略。本文用可验证命令讲清返回值、TTL、复杂度和失败边界。
-
Redis 设置了 EXPIRE 后,键并不一定在到点瞬间从内存消失。本文从 TTL 读数、访问触发的惰性删除和后台主动过期检查入手,说明为什么会看到过期键,以及怎样用命令判断问题究竟在观察方式、访问路径还是过期清理压力。
-
MySQL 8.0 的 INVISIBLE 列可以让新字段先进入表结构,却不改变 SELECT * 的旧返回集。本文用同一张 orders 表演示灰度加列、显式读取和回滚检查。
-
Redis 8.10 的 BLMOVEM 可以阻塞等待并批量搬运列表元素,但 COUNT 与 EXACTLY 的唤醒条件完全不同。本文从目标列表间歇性断粮的故障现象出发,拆清 timeout、OBO、BULK、事务与 Lua 场景的边界,并给出修复选择和上线检查清单。
-
Redis SCAN 是渐进式遍历,不是一次性分页接口。本文用游标、MATCH、COUNT 和去重集合拆开“漏键”错觉,给出可验收的清理脚本与边界判断。