Go语言技术文章
-
MySQL 备份恢复不能只看备份文件是否存在,还要保存并复核二进制日志文件、起始位置和停止位置。本文给出一套不依赖猜测的检查方法。216 收藏 -
数据库 · Redis | 12小时前 | Redis · cluster · slot迁移 · MOVED · ASK · 客户端路由 · redis slot Redis Cluster MOVED ASK reshard 拓扑刷新
Redis Cluster 扩缩容或 reshard 时,MOVED 和 ASK 都可能出现在客户端日志里,但它们代表的路由语义不同。本文从 slot 所有权、MIGRATING/IMPORTING 状态和客户端拓扑缓存出发,说明如何判断重定向是否正常以及该刷新什么。157 收藏 -
MySQL LOAD DATA 导入 CSV 时,FIELDS TERMINATED BY、ENCLOSED BY、ESCAPED BY 和 LINES TERMINATED BY 必须匹配文件生成规则。本文用带逗号、双引号和字段内换行的示例说明参数组合与检查方法。335 收藏 -
Redis BigKeys 排查可以先用 SCAN 增量发现,再用 MEMORY USAGE 按字节估算,最后按风险和固定批次处理;本文说明 SAMPLES、COUNT 与 UNLINK 的边界。188 收藏 -
MySQL utf8mb4 排序规则报错时,先区分 1273 未知排序规则与 1267 排序规则混用,再检查连接会话、列定义和查询表达式,选择兼容的最小修复范围。101 收藏 -
Redis 同时开启 RDB 和 AOF 后,常规重启会优先使用 AOF 重建数据集;RDB 主要承担紧凑备份和较快恢复,本文按数据窗口、启动速度与重启前检查说明如何做取舍。470 收藏 -
用 RANGE COLUMNS 按月份组织 MySQL 分区表,先核对分区边界,再安全删除越过保留线的历史分区,并处理 MAXVALUE 分区的滚动维护。327 收藏 -
用一个缓存服务和一个报表读取服务的例子,拆解 Redis ACL 中用户、命令集合与 key pattern 的关系,并用 ACL DRYRUN 验收最小权限。251 收藏 -
MySQL 队列使用 SKIP LOCKED 时,另一个事务未提交的任务可能暂时不出现在结果集。本文解释锁定读语义,并给出短事务、租约和补偿方案。209 收藏 -
Redis Function 适合持久化、可复用的服务端逻辑,临时 Lua 脚本适合由应用按需加载的短逻辑;本文对比两者的部署、版本管理和 EVALSHA 恢复方式。326 收藏 -
MySQL invisible index 可以在不立即删除索引的前提下模拟它离开优化器候选集的影响。本文用 SHOW INDEX、EXPLAIN 和 use_invisible_indexes 对比查询计划,并说明如何安全回滚。263 收藏 -
Redis Lua 脚本返回多个值时,先把结果设计成稳定的索引数组,再按客户端类型解析;本文说明 Lua 表、RESP 数组、Python list、Go 切片和空值之间的映射。125 收藏 -
数据库 · MySQL | 18小时前 | MySQL · 数据库 · 查询排错 · 递归CTE · mysql WITH RECURSIVE cte_max_recursion_depth CTE 递归查询
MySQL 递归 CTE 的安全边界不能只依赖默认报错。本文用层级树示例区分业务深度、cte_max_recursion_depth、递归 LIMIT 和执行超时,并说明如何排查无限展开与环形数据。165 收藏 -
MySQL JSON_VALUE 可以直接参与表达式索引。本文以订单 payload 中的 customer_id 为例,说明如何用 RETURNING UNSIGNED 固定类型、用双括号创建索引、让 WHERE 表达式保持兼容,并处理缺失键、JSON null 与转换错误。406 收藏 -
Redis Stream 多消费组使用 XTRIM 时,KEEPREF 保留 PEL 引用,ACKED 只删除所有消费组都确认过的条目。本文用命令、边界和检查清单说明如何选择。267 收藏