Go语言技术文章
-
Redis 7.4 开始支持 Hash 字段独立过期。本文从稳定实体、字段生命周期、热点风险和原子写入四个维度,说明适合的数据模型、HEXPIRE 门禁规则、返回值处理,以及 Redis 8 HSETEX 的使用边界。462 收藏 -
Redis Sentinel 的下线判定要同时看时间阈值和 Sentinel 数量:down-after-milliseconds 决定单个 Sentinel 等多久,quorum 决定多少 Sentinel 同意故障。本文用三节点拓扑说明如何设置与复查,避免把检测阈值和客户端重连混为一谈。462 收藏 -
在 MySQL 中提取 GeoJSON 的 properties,应该使用 JSON_VALUE 或 JSON_TABLE;geometry 则交给 ST_GeomFromGeoJSON。本文用 Feature 和 FeatureCollection 示例说明两者的边界、查询写法与 SRID 注意事项。462 收藏 -
用 INFORMATION_SCHEMA.INNODB_TRX 找出当前 InnoDB 事务,按 TRX_STARTED 判断持续时间,再用 TRX_MYSQL_THREAD_ID 映射到连接,避免把只读会话、锁等待和已结束事务混为一谈。461 收藏 -
MySQL 分区表清理历史数据时,DROP PARTITION 为什么通常比逐行 DELETE 更快?本文从分区边界、索引与日志工作粒度解释差异,并给出执行前后的核对清单。461 收藏 -
Redis Sorted Set 按字典序查询时,关键是让成员使用相同 score,再用 ZRANGE BYLEX 配置包含或排除边界;本文给出范围写法、分页和空结果排查清单。461 收藏 -
Redis Cluster跨槽批量读取不能把不同slot的key直接拼成一次MGET。本文用按slot分组、节点读取、重定向处理和原序合并的方式,给出可落地的拆分方案。461 收藏 -
Redis 的 lfu-decay-time 表示访问频率计数每减少 1 所需的分钟数,默认值 1,设为 0 则不衰减。它不是 TTL,也不是后台定时清零。本文结合 8 位计数器、OBJECT FREQ 和调参场景说明如何选择。461 收藏 -
Redis SMISMEMBER 会按照请求成员的顺序返回 0/1 数组。本文用 redis-cli 和 Go 示例说明如何稳定映射结果,并处理缺失 key、重复成员与批量成本。461 收藏 -
Redis 7 之后可以把 Lua 逻辑注册为函数,再用 FCALL 按函数名调用。本文从一个原子更新场景出发,拆清 numkeys、KEYS、ARGV、FCALL_RO 和集群迁移的边界。460 收藏 -
Redis 报 OOM 不一定是 used_memory 超过 maxmemory。本文从 maxmemory 判定、内存碎片率、客户端输出缓冲和大 key 四个方向核对真实占用,并给出可复现的 redis-cli 检查命令。460 收藏 -
Redis 缓存键如果使用相同 TTL,批量写入后可能在同一时间段集中失效。本文用 Go 示例演示如何加入可控随机抖动,并区分首次回填、刷新和热点保护。460 收藏 -
讲清 Redis BLMOVE 如何把待处理任务原子移入备份列表,并结合确认删除、可见性超时、领取令牌和幂等处理避免任务丢失。460 收藏 -
当NULL参与字符串拼接时,其结果将为NULL。因此,需要使用ISNULL/IFNULL/COALESCE对每个字段分别进行兜底处理;在UPDATE触发器中,若要判断“被清空”的情况,必须对比DELETED与INSERTED;对于数值/日期的兜底值类型,必须与字段类型相匹配;若要拦截空值,必须使用R458 收藏 -
删除父表记录时突然变慢,先别急着改事务隔离级别。本文从锁等待、子表外键索引和级联删除三个现场信号入手,给出可复现的检查 SQL、修复顺序与回滚边界。458 收藏