Go语言技术文章
-
用一个地点编码小项目说明 Redis GEOADD 与 GEOHASH 的关系,演示如何按成员读取 geohash 字符串、处理批量返回顺序和缺失成员,并解释共同前缀可以做空间分桶但不能直接代替距离排序。266 收藏 -
Redis Sorted Set 按字典序分页的关键是让成员使用同一 score,再用 ZRANGE BYLEX 配合 LIMIT 和排他游标读取下一页。本文说明边界符、兼容命令、排序规则与并发写入限制。265 收藏 -
数据库 · MySQL | 6天前 | MySQL · 连接池 · 故障排查 · MySQL连接池 CURRENT_ROLE MySQL默认角色 SET DEFAULT ROLE SET ROLE DEFAULT
MySQL 的 SET DEFAULT ROLE 只定义登录或执行 SET ROLE DEFAULT 时应激活的角色,不会追溯修改已打开连接。本文给出当前会话修复、账户核对、连接池刷新和登录变量检查方法。265 收藏 -
MySQL 8.4 的普通 JSON_ARRAYAGG 不保证元素顺序,也没有内置 LIMIT。本文用 ROW_NUMBER、窗口 ORDER BY 和完整窗口帧生成每组固定数量、顺序稳定的 JSON 数组,并说明常见误区。265 收藏 -
MySQL CHECK 约束遇到 NULL 时可能返回 UNKNOWN,而 UNKNOWN 与 TRUE 一样不会触发 CHECK 失败。本文用字段约束对照说明三值逻辑,并给出 NOT NULL 与 CHECK 的显式非空写法。265 收藏 -
Redis Count-Min Sketch 用有限空间估算事件频次,适合筛选高频项和观察趋势,但哈希碰撞会让结果偏大,低频值与精确结算不能直接采用。本文用 CMS 命令说明误差参数、查询方式和使用边界。260 收藏 -
EXPLAIN FOR CONNECTION 读取的是目标连接当前正在使用的执行计划,不是重新估算一条 SQL;目标连接空闲、语句不可解释、使用预处理语句或权限不足时,就会出现空结果或报错。256 收藏 -
MySQL JSON_OVERLAPS 可以配合 InnoDB 多值索引优化 JSON 数组相交查询,但必须匹配索引表达式、数组类型和查询路径,并用 EXPLAIN 确认优化器实际选用了索引。255 收藏 -
MySQL 复制延迟排查不能只看 Seconds_Behind_Source。本文用 SHOW REPLICA STATUS 对照 IO 接收线程和 SQL 应用线程,区分网络接收慢、中继日志堆积与应用报错。254 收藏 -
数据库 · MySQL | 1星期前 | MySQL · 事务 · InnoDB · 锁定读 MySQL NOWAIT FOR UPDATE NOWAIT FOR SHARE NOWAIT InnoDB行锁 ERROR 3572
MySQL 锁定读默认会等待冲突行锁,追加 NOWAIT 后可立即返回 3572 错误。本文用双连接示例说明 FOR UPDATE NOWAIT 的写法、事务回滚、错误处理,以及它与默认等待和 SKIP LOCKED 的边界。253 收藏 -
Redis ZUNION 可以为每个输入 Sorted Set 指定 WEIGHTS,再用 SUM、MIN 或 MAX 合并重复成员的分数。本文用评分合并示例说明参数顺序、结果读取和生产边界。253 收藏 -
Redis Lua 可把库存判断与扣减封装为单次原子执行。本文给出 KEYS、ARGV 参数契约和单键脚本,说明整数范围、写入前检查、脚本耗时及超时重试的限制。253 收藏 -
MySQL 的普通派生表不能引用同一 FROM 子句里的前置表;在派生表前加 LATERAL,并把被引用表放在左侧,就能为每个外层行计算相关结果。252 收藏 -
Redis ZRANGESTORE 可以把 Sorted Set 按排名、分数或字典序筛选后直接保存到新 key。本文用 redis-cli 说明范围边界、REV、LIMIT、返回值和多 key 使用边界。252 收藏 -
用一组混合 JSON 数据拆开 JSON_TABLE 的缺失路径、类型转换、默认值与报错边界,给出可直接改写的 SQL 配置方法。251 收藏