Go语言技术文章
-
Redis ZRANGEBYLEX 适合在 Sorted Set 成员分值相同的前提下按字典序取范围。本文用 redis-cli 演示边界符号、LIMIT 分页、游标衔接及 Redis 6.2+ 的 ZRANGE BYLEX 替代写法。482 收藏 -
MySQL JSON 数组不能直接按普通列建索引。本文用 InnoDB 多值索引把标量数组映射成可查询的索引记录,并说明 MEMBER OF、JSON_CONTAINS、JSON_OVERLAPS 及空数组、类型和排序限制。482 收藏 -
Redis Cluster 迁移 hash slot 时,客户端不能把 ASK 和 MOVED 当成同一种重试信号。本文从 MIGRATING、IMPORTING 状态切入,说明 ASK 只重试当前命令、MOVED 才更新槽位映射,并给出带重试上限、多键约束和幂等性边界的客户端设计方法。481 收藏 -
Optimizer Trace 适合解释 MySQL 优化器为什么选择某个索引、访问方式或连接顺序。本文给出当前会话抓取、读取决策节点、识别追踪不完整和补充运行时验证的实操方法。480 收藏 -
MySQL 按部门、店铺或其他分组取排名第二的记录,关键是先用窗口函数生成组内名次,再由外层查询过滤。本文比较 ROW_NUMBER、RANK 和 DENSE_RANK 的并列边界,并补充稳定排序、过滤层级与 NULL 值处理。478 收藏 -
从范围条件估算失真入手,讲清 MySQL 直方图的适用场景、创建语法、统计查看、EXPLAIN 检查以及更新和删除边界。478 收藏 -
Redis Hash适合字段级读取和局部更新,JSON字符串适合整对象缓存;如果必须按JSONPath原子修改文档,再评估RedisJSON。本文用Go示例梳理三种方式的边界、过期策略和并发取舍。476 收藏 -
RedisTimeSeries 的 TS.MRANGE 可以在一次查询中用 AGGREGATION min,avg,max 返回同一时间桶的多个统计值。本文说明返回元组的字段顺序、应用侧映射方式,以及它与 GROUPBY/REDUCE 跨序列归并不能叠加的边界。476 收藏 -
旧表启用 MySQL CHECK 约束前,先用反向查询找出历史违规数据,按业务规则分批修复或隔离,再以 NOT ENFORCED 暂存命名约束,确认全表通过后切换为 ENFORCED。475 收藏 -
Redis BITFIELD 默认使用 WRAP;本文对比 WRAP、SAT、FAIL 的溢出语义,并从位宽、offset、作用范围和返回 nil 四个方向排查策略不生效。473 收藏 -
Redis Lua 脚本中的 key 必须通过 EVAL 的显式 key 参数传入,业务值放入 ARGV。本文用最小示例说明 numkeys 如何划分 KEYS 与 ARGV,并演示多 key 脚本的同槽检查。473 收藏 -
对比 Redis BITFIELD 的 WRAP、SAT、FAIL 溢出策略,说明位宽边界、策略作用域、返回值处理和循环计数、封顶计量、严格配额等选型场景。471 收藏 -
整理 MySQL GTID 复制切换前的核对方法,区分接收集合与执行集合,用 GTID_SUBSET 和 GTID_SUBTRACT 判断候选副本是否覆盖主库事务,并保留回退依据。469 收藏 -
用 Redis Functions 封装单 SKU 库存扣减与成功回执,讲清重复请求、库存不足、TTL、Cluster 同槽、函数部署和故障恢复的幂等边界。468 收藏 -
用 Redis Functions 与 Sorted Set 实现原子滑动窗口限流,讲清函数库部署、FCALL 调用、v1/v2 并行版本、配置切换回滚,以及唯一请求标识、时钟和性能边界。468 收藏