Go语言技术文章
-
Redis 客户端缓存如何在 OPTIN 与 OPTOUT 之间选择?本文从默认跟踪范围、CLIENT CACHING YES、CLIENT UNTRACKING、连接失效和上线检查清单说明两种策略的适用边界。109 收藏 -
Redis Sentinel故障转移时,客户端不能继续依赖旧主节点地址。本文以服务发现、连接池、超时、退避和重试边界为主线,给出一套可落地的重连配置方法。108 收藏 -
MySQL 8.4 的 SHOW GRANTS 只看账号时容易漏掉角色携带的权限。本文用 app_read、app_write 和 report_user 拆解角色授予、默认激活、CURRENT_ROLE() 与 SHOW GRANTS ... USING 的核对顺序。107 收藏 -
MySQL 的 IS NULL 可以参与索引范围,但复合索引顺序不能靠 WHERE 条件位置判断。本文用租户与软删除示例说明左前缀、索引选择和 EXPLAIN 复查方法。107 收藏 -
动态字段名拼接必须白名单校验,且参数绑定须用计算属性语法;JSONB模糊查询需确保字段为JSONB类型并建GIN索引;复杂场景应改用原生SQL+占位符参数化。动态字段名拼接必须白名单校验TypeORM的andWhere对于字段名(比如JSONB路径row_data->>'Location'里的Loc106 收藏 -
数据库 · MySQL | 1个月前 | MySQL · InnoDB · Purge Lag 长事务 InnoDB history list length information_schema.innodb_trx sys.innodb_lock_waits
InnoDB history list length 持续升高,通常不是单纯的写入变快,而是 purge 被长事务或历史读视图拖住。本文从监控现象出发,用 information_schema.innodb_trx、performance_schema 与 sys 视图定位阻塞源,再给出安全结束事务和复查回收速度的步骤。106 收藏 -
MySQL 8.4 升级后旧客户端可能因认证插件不兼容而连接失败。本文从 mysql_native_password 停用、账户认证方式和客户端升级三个边界出发,给出可回滚的检查、切换与回归步骤。106 收藏 -
从最近访问、累计频率、热点迁移和 TTL 设计几个维度比较 Redis 的 allkeys-lru 与 allkeys-lfu,并给出配置和观测检查清单。106 收藏 -
Redis GEOSEARCH 做附近门店查询时,距离相同、门店坐标变化和分页游标都会影响结果稳定性。本文用 GEOSEARCH、WITHDIST 和业务排序键拆解半径分页边界,并给出可重复的校验方法。105 收藏 -
Redis FUNCTION STATS 只能观察当前正在执行的函数,本文用 Redis 8.0 的真实长函数复现 running_script、duration_ms 与 engines 返回值,并说明它和历史调用统计的边界。105 收藏 -
缓存穿透不能只靠单一缓存策略。本文把 Bloom Filter、短 TTL 空值缓存和原子回源限流组合起来,说明请求顺序、参数边界、Go 示例与监控指标。105 收藏 -
Redis Lua 接收 JSON 时,ARGV 仍是原始字符串。本文用一次解码、字段类型校验和明确的写入/返回转换,处理字符串、数字、布尔值与 Lua 表混用带来的误判。104 收藏 -
MySQL 递归 CTE 的列类型只由非递归锚点推断。生成日期序列时显式 CAST 为 DATE,并把格式化文本移到 CTE 外部,可避免截断和严格模式报错。104 收藏 -
Redis 的 LFU 淘汰并不是精确统计访问次数,而是用概率计数器配合衰减周期估算热点。本文从 allkeys-lfu 的工作边界出发,解释 lfu-log-factor、lfu-decay-time 如何影响判断,并给出可复现的验收步骤与误判处理方法。101 收藏 -
MySQL utf8mb4 排序规则报错时,先区分 1273 未知排序规则与 1267 排序规则混用,再检查连接会话、列定义和查询表达式,选择兼容的最小修复范围。101 收藏