Go语言技术文章
-
本文用一个订单报表示例说明 MySQL CTE 如何按筛选、聚合和展示关联拆分复杂查询,并解释 EXPLAIN、合并与物化之间的关系。413 收藏 -
MySQL JSON_TABLE 使用 NESTED PATH 展开空数组时,父级记录仍可能保留一行,嵌套列显示为 NULL。本文解释补位行的来源,并用 EXISTS PATH、外层 WHERE 和 ON EMPTY 区分真实明细、空数组与字段缺失。437 收藏 -
说明 Redis PEXPIRETIME 如何读取键的 Unix 毫秒级绝对过期时间,区分有效时间戳、-1 和 -2,并比较 EXPIRETIME、PTTL 的使用场景。252 收藏 -
Redis 选择 LRU 或 LFU,应先确定可淘汰键范围,再根据热点稳定性建立对照。本文提供单变量切换、配置回退与同窗口观测方法,避免把命中率波动误当策略收益。135 收藏 -
Redis 客户端缓存虽然能减少网络往返,但本地副本不会自动知道服务端数据已经改变。本文说明 tracking 如何按读取过的 key 发送失效通知,比较默认模式与广播模式,并给出断线、连接池和热点写入时的选择建议。367 收藏 -
Redis GEOSEARCH 支持以成员或经纬度为中心,用 BYRADIUS 查询圆形范围、用 BYBOX 查询矩形范围,并可通过 WITHDIST、WITHCOORD、ASC、DESC、COUNT 组合出附近位置列表。本文用一组可复现数据说明参数和返回结果。105 收藏 -
Redis 删除大键时,UNLINK 能让摘链动作快速返回,但内存回收会异步完成。本文说明 UNLINK、lazyfree 配置、回收时机和灰度排查方法。138 收藏 -
Redis LFU 用概率计数和按需衰减适应热点变化。本文解释 lfu-decay-time、增长因子与采样的区别,给出配置读取、单参数试验和回退方法,并说明 OBJECT FREQ 与同窗口命中率的观察边界。282 收藏 -
Redis ZMPOP 可以从多个有序集合中找到第一个非空 key,再按 MIN 或 MAX 批量弹出成员。本文拆解 COUNT、空集合和返回结构,帮助你写出可预测的优先级取数逻辑。333 收藏 -
用 Redis ZDIFF 取出第一个有序集合独有的成员,说明 WITHSCORES、空结果、ZDIFFSTORE 与 Redis Cluster 多键同槽位边界。186 收藏 -
Redis 8.6 Streams 通过 IDMP 和 IDMPAUTO 支持幂等生产。本文区分生产去重与消费副作用,说明 pid、iid、有限追踪窗口、配置变更及旧客户端兼容边界,并提供原样重试示例。373 收藏 -
Redis Streams 的 XACK 只负责移除消费组的待确认记录,并不会自动让业务副作用幂等。本文用事件 ID、去重记录、确认时机和积压接管,设计一条可重试的消费链路。129 收藏 -
Redis 的 XADD 默认会在 key 不存在时创建 Stream;NOMKSTREAM 可以禁止这次隐式创建,并用空返回提醒调用方先完成初始化。489 收藏 -
JSON_SET 并不自动等于原地部分更新。本文从同列读写、已有路径、空间条件和观测函数四个角度,说明 MySQL JSON 更新何时能复用存储空间,以及哪些写法会退回整值重写。132 收藏 -
用一个最小 redis-cli 示例说明 Redis Streams 消费组的创建、XREADGROUP 新消息读取、PEL 待确认列表、XACK 确认、XPENDING 排查与 BLOCK 阻塞边界。200 收藏