Go语言技术文章
-
Redis Streams 幂等生产应优先按版本选择 XADD 的 IDMP/IDMPAUTO,旧版本用 SET NX 配合业务幂等号,并区分生产去重、消费确认与业务落库幂等。295 收藏 -
数据库 · MySQL | 3天前 | MySQL · JSON · 数据校验 · JSON_SCHEMA_VALID CHECK 约束 MySQL JSON Schema JSON 结构校验 JSON_SCHEMA_VALIDATION_REPORT
用 MySQL 的 JSON_SCHEMA_VALID() 先判断 JSON 文档是否符合对象结构,再用 JSON_SCHEMA_VALIDATION_REPORT() 定位 required、类型和范围错误,并说明 NULL、非法 JSON、$ref 以及 CHECK 约束中的处理边界。293 收藏 -
Redis FT.SEARCH 按字段搜索时,TAG 用花括号精确匹配,NUMERIC 用范围表达式,TEXT 用全文语法;再结合 RETURN、LIMIT 和 DIALECT 2 控制结果。293 收藏 -
批量更新从几百行扩大到几十万行后,慢点往往不在 UPDATE 语句本身,而在索引维护、锁持有时间和事务日志压力。本文用订单归档场景拆开原因,并给出按主键分批提交的验收边界。291 收藏 -
Redis 设置 EXPIRE 后,键不会按秒表准点从内存消失。本文用 TTL、INFO memory 和 MEMORY USAGE 区分惰性删除、定期抽样与大值回收,给出可复查的排查顺序和参数边界。291 收藏 -
用 MySQL 8.0 隐形索引在不删除索引的前提下做查询计划对照,核对 EXPLAIN、实际耗时和恢复动作,降低索引下线风险。291 收藏 -
Redis 收不到 expired 事件,通常是 notify-keyspace-events 缺少 E/K 或 x、频道与数据库编号不匹配,或误把 TTL 归零当成事件发送时刻。本文给出最小配置、频道对照和集群排查清单。291 收藏 -
MySQL JSON 列不能直接按普通方式建索引。本文用生成列提取 JSON 路径中的字符串和数值,再建立二级索引,并用 EXPLAIN 检查查询是否匹配。291 收藏 -
Redis GEOSEARCH 的 BYBOX 用中心点、宽度、高度和统一距离单位定义轴对齐矩形。本文说明 FROMLONLAT、FROMMEMBER、排序、COUNT、WITHDIST 与 BYRADIUS 的边界。291 收藏 -
MySQL 合并多个查询结果时,UNION 默认删除重复整行,UNION ALL 保留所有行。本文从业务语义、列位置、整行去重以及 ORDER BY、LIMIT 的作用范围说明如何选择,避免误删明细或为不必要的去重增加开销。290 收藏 -
本文用 Redis Search 的 FT.SEARCH 说明如何先按 TAG 过滤,再用 KNN 或 VECTOR_RANGE 完成向量距离排序,并梳理 PARAMS、DIALECT 2、距离别名和 SHARD_K_RATIO 的使用边界。290 收藏 -
MySQL ST_IsClosed 根据折线首尾判定闭合,多折线要求各成员分别闭合。本文给出查询示例,并说明 NULL、简单性、容差与地理坐标系限制。289 收藏 -
Redis 6.2+ 可以用 ZRANGE 的 BYSCORE 按时间分数读取有序集合,并配合 LIMIT 做窗口内分页。本文说明闭区间、排他下界、同分数成员和大 offset 的边界,给出适合时间游标的写法。289 收藏 -
Redis 用 SINTER 对多个 Set 求交集,适合按标签筛选同时满足多个条件的用户。本文从反向索引、SINTER 与 SINTERSTORE 的选择、结果失效、复杂度和 Redis Cluster 同槽约束说明完整做法。288 收藏 -
Redis 大键排查可以先用 SCAN 分批枚举命名空间,再用 MEMORY USAGE 比较单键占用;对候选键结合 TYPE、元素数量和 SAMPLES 0 复核,并区分键过大与实例碎片率。288 收藏