Go语言技术文章
-
MySQL 9.4 新增 server_memory 后,默认内存变量会怎样计算?本文用 SHOW VARIABLES 和启动参数拆开它与 temptable_max_ram、innodb_buffer_pool_size 的关系,并说明它为什么不是运行时内存上限。215 收藏 -
Redis 8.10 新增 LMOVEM 与 BLMOVEM。本文用 COUNT、EXACTLY、OBO、BULK 四个边界说明如何在非阻塞搬运和等待数据的队列消费者之间做选择。278 收藏 -
MySQL 9.7 的 VECTOR 列能保存向量,但原生向量索引和相似度检索仍在官方架构讨论中。本文拆开 InnoDB 二级索引、隐藏子表、事务一致性和当前落地边界,给出应用侧的稳妥接法。432 收藏 -
解释 Redis 8.10 Compact Hash 如何让大量同结构 Hash 共享字段名,并给出适用条件、HIMPORT 关系、内存指标和不适用边界。417 收藏 -
说明 Redis 8.10 HIMPORT 如何用连接级 fieldset 复用字段名批量写入 Hash,并梳理固定 schema、值顺序、连接池和清理边界。309 收藏 -
解释 MySQL JSON 数组普通索引失效的原因,说明 CAST AS ARRAY 多值索引、三类可优化谓词、类型一致性及覆盖索引和空数组限制。326 收藏 -
Redis 8.8 新增 INCREX,可在一次原子操作中完成计数、边界控制和过期设置。文章说明返回值、UBOUND、SATURATE 与 ENX 的判断方法。348 收藏 -
Redis 8.10 的 BLMOVEM 可以阻塞等待并批量搬运列表元素,但 COUNT 与 EXACTLY 的唤醒条件完全不同。本文从目标列表间歇性断粮的故障现象出发,拆清 timeout、OBO、BULK、事务与 Lua 场景的边界,并给出修复选择和上线检查清单。122 收藏 -
准备删除一个 MySQL 二级索引时,不必先承担回滚风险。MySQL 8.4 可以把索引设为 INVISIBLE,再用 EXPLAIN 和单条查询 hint 对照计划,确认它是否仍被业务查询需要。133 收藏 -
MySQL 分区表并不是加上 PARTITION BY 就能保留所有唯一约束;分区表达式中的列必须进入每一个唯一键,本文用订单表拆开主键、业务唯一键和建表取舍。501 收藏 -
Redis GEOSEARCH 可以从地理索引中按圆形或矩形范围筛选成员。本文从配送围栏误判场景出发,拆开 BYRADIUS、WITHDIST、ASC、COUNT 与 ANY 的组合边界,给出可核对的命令结构和排障判断。124 收藏 -
Redis 连接池耗尽时,报错常常出现在业务命令而不是建连阶段。本文用 go-redis 的两个连接槽复现等待超时,再结合 CLIENT LIST、PoolStats 和复用检查确定该调池大小还是缩短占用时间。275 收藏 -
Redis FUNCTION STATS 只能观察当前正在执行的函数,本文用 Redis 8.0 的真实长函数复现 running_script、duration_ms 与 engines 返回值,并说明它和历史调用统计的边界。105 收藏 -
MySQL 用 BINARY(16) 存 UUID 可以减少存储空间,但 UUID_TO_BIN 的 swap_flag 必须和 BIN_TO_UUID 使用同一约定。本文用真实 SQL 输出对比原始顺序、交换时间段和错误还原,说明版本 1 UUID 的适用边界。261 收藏 -
MySQL 8.0 的 INVISIBLE 列可以让新字段先进入表结构,却不改变 SELECT * 的旧返回集。本文用同一张 orders 表演示灰度加列、显式读取和回滚检查。122 收藏