Go语言技术文章
-
Redis Hash 更新单字段默认使用 HSET;本文对比 HSETNX、HINCRBY 和多字段 HSET 的适用边界,并说明 HGET、HGETALL、返回值与 WRONGTYPE 的排查方法。354 收藏 -
Redis ZSET 按分数分页时,简单使用 offset 会受到数据插入和重复分数影响。本文用 ZRANGE BYSCORE、开区间 score 游标和复合排序键说明如何减少重复、漏项与深分页开销。246 收藏 -
用 Redis Lua 脚本把库存判断、原子扣减和初始过期放在同一执行边界,说明 TTL 刷新、库存不足、NOSCRIPT 与参数边界。414 收藏 -
Redis XINFO GROUPS 可以查看 Stream 消费组的消费者数量、待确认消息、最后投递 ID、逻辑读取计数和 lag。本文用 redis-cli 说明字段含义,并处理 lag 为 NULL、消息裁剪和监控判断等边界。315 收藏 -
Redis Stream 消费组确认消息应放在业务处理成功之后。本文解释 XREADGROUP、PEL 与 XACK 的关系,分析确认返回 0、积压和消费者故障场景,并给出 XPENDING、XAUTOCLAIM 的处理方式。371 收藏 -
数据库 · MySQL | 3星期前 | InnoDB · 故障排查 · MySQL教程 · mysql innodb mysqldump 二进制日志 物理备份 single-transaction 一致性备份
MySQL InnoDB 一致性备份的关键是建立可解释的事务或物理快照边界。本文按表引擎、备份方式、备份锁、文件系统快照和二进制日志分层排查,给出纯 InnoDB 逻辑备份与物理备份的选择清单。270 收藏 -
数据库 · MySQL | 3星期前 | 连接池 · 故障排查 · MySQL教程 · mysql 连接池 wait_timeout database/sql SetConnMaxIdleTime SetConnMaxLifetime 空闲连接 PingContext
MySQL 连接池空闲连接失效,通常是服务端、代理或网络设备先关闭了空闲连接,应用在下一次复用时才发现。本文按时间边界排查 wait_timeout,并用 Go database/sql 的空闲时间、生命周期、PingContext 和 Stats 给出可执行处理方案。350 收藏 -
数据库 · MySQL | 3星期前 | MySQL · 数据库 · csv · 数据导入 · CSV导入 MySQL LOAD DATA LOAD DATA LOCAL INFILE MySQL批量导入
MySQL LOAD DATA 读取 CSV 时,关键不是只写一条 SQL,而是对齐文件位置、字符集、分隔符、引号、换行符和目标列。本文给出 LOCAL 与非 LOCAL 的选择、列映射、清洗和结果核对方法。307 收藏 -
MySQL 复制延迟应按通道区分接收、协调与工作线程。本文组织只读状态报告,给出错误与事务进度查询、线程关联写法,说明 Seconds_Behind_Source 的限制及分层处理方向。141 收藏 -
本文用会员与付费用户的查询示例说明 MySQL INTERSECT 如何取两组结果的交集,并解释默认去重、INTERSECT ALL、列结构和排序范围。358 收藏 -
MySQL 分区表出现跨分区扫描时,先检查 WHERE 是否直接约束分区键,再区分 RANGE、RANGE COLUMNS 与 KEY 分区的裁剪边界,最后用 EXPLAIN 的 partitions 字段确认查询范围。146 收藏 -
MySQL 混合字符串表达式的排序规则可用 CHARSET、COLLATION、COERCIBILITY 观察;数值越小优先级越高,显式 COLLATE 为 0。本文用原创 SQL 说明列、字面量、拼接和同优先级冲突的判断方法。361 收藏 -
MySQL JSON 数组对象可用 JSON_TABLE 展开后联合过滤。本文区分明细与订单返回粒度,说明路径、序号、缺字段、JSON null 与转换错误,并给出原创订单查询样例。467 收藏 -
MySQL 联合索引没有命中时,按最左前缀、等值与范围条件、表达式写法和 EXPLAIN 字段逐层判断,区分索引无法使用与优化器主动选择全表扫描。415 收藏 -
MySQL EXPLAIN 中的 rows 是优化器估算,不是实际返回行数。本文用 EXPLAIN ANALYZE、ANALYZE TABLE 和直方图定位偏差来源,并给出复测边界。437 收藏