-
Redis SCAN 采用游标分批遍历,一次调用只返回当前批次。本文说明 cursor、MATCH、COUNT 的真实语义,并给出正确循环和重复处理边界。
-
讲清 Redis Functions 在 Redis Cluster 中的预加载方式:为什么单节点 FUNCTION LOAD 不够,如何用 cluster call 加载到所有主节点,以及 REPLACE、键路由、副本和扩容时的边界。
-
Redis HELLO 不只是握手命令,还能返回协议版本、服务器版本、连接 ID、运行模式和角色等信息。本文用 redis-cli 说明 HELLO、AUTH 与 SETNAME 的组合方式,并梳理认证失败和旧服务端的处理边界。
-
使用 XPENDING 摘要查看 Redis 消费者组未确认消息数量,区分 pending、lag 与流长度,并通过消费者分布和有限明细排查积压,避免将查询错误、空值或明细行数误当总量。
-
Redis XTRIM 可以按 MAXLEN 限制 Stream 保留条数。本文从实际写入场景说明精确裁剪与近似裁剪的区别、LIMIT 的处理边界、返回删除数,以及消费组引用与消息保留策略之间的关系。
-
Redis XREADGROUP 的 NOACK 适合允许偶发丢失的 Streams 消费场景。本文说明它怎样跳过 PEL、为什么只对新消息读取生效,以及可靠任务为什么仍要保留 XACK。
-
Redis COMMAND INFO 可以读取命令的 arity、flags、键位置和 ACL 分类,但 fast/slow 只是粗粒度标志,不能替代精确的 O(...) 复杂度说明。本文给出查询单个、多个命令及未知命令的方式,并说明运行时元数据与官方命令文档的分工。
-
Redis ZMPOP 的 COUNT 参数控制一次弹出的成员数量,默认只取一个,实际数量不会超过集合剩余成员数。本文结合 MIN、MAX、多键和空集合结果说明命令边界,并对比 ZPOPMIN 与 BZMPOP 的适用场景。
-
Redis HSETNX 适合多实例按字段补齐默认配置。本文说明字段存在性、0与1的返回含义,与HSET、SET NX的选择差异,并界定超时、过期及后续修改带来的边界。
-
遇到 MySQL 锁等待超时,先区分 InnoDB 行锁、死锁和元数据锁,再用 sys.innodb_lock_waits 找到等待事务与阻塞事务。本文给出从连接 ID、事务年龄、锁定对象到处理动作的完整排查路径,并说明 ERROR 1205 只回滚当前语句时的边界。
-
MySQL STR_TO_DATE 适合解析日期和时间主体,但不要把 +08:00 直接当作 %z。本文用一个带数字时区偏移的字符串,演示如何拆分、解析、用 CONVERT_TZ 转成 UTC,并根据业务需要选择 DATETIME 或 TIMESTAMP。
-
MySQL INET6_ATON 会把合法的 IPv4 或 IPv6 文本转换为二进制值,IPv4 通常是 4 字节、IPv6 是 16 字节;无效地址或 NULL 输入会得到 NULL。本文用可直接改写的 SQL 说明输入边界、结果检查、VARBINARY 存储和 INET6_NTOA 反向展示。
-
MySQL JSON_SCHEMA_VALID 用 JSON Schema 检查文档结构和值域,本文演示 1、0、NULL、错误和 CHECK 约束的区别。
-
容器不会单独改变 ORDER BY 的语义,真正决定字符串比较和排序的是字符集与 collation。本文先核对 MySQL 容器的实际版本,再定位排序规则来源,用 COLLATE 显式控制结果,并处理混合排序规则和分页不稳定问题。
-
MySQL 的 DECLARE CONTINUE HANDLER FOR NOT FOUND 常用于游标读完和 SELECT ... INTO 无结果的场景。本文从 SQLSTATE 02 类、声明顺序和 done 标记入手,演示如何结束游标循环,并用嵌套 BEGIN ... END 隔离容易误触发的 NOT FOUND 条件。