Go语言技术文章
-
Redis 内存碎片率升高不一定代表数据变多。本文从 INFO memory 基线、SCAN 分批扫描、MEMORY USAGE 抽样和大键定位入手,区分数据增长、删除后的 RSS 滞留与分配器复用。499 收藏 -
从事务快照建立时机入手,解释 MySQL 默认 REPEATABLE READ 下普通 SELECT 为什么看不到其他会话刚提交的数据,并给出提交事务、READ COMMITTED 与锁定读的选择边界。499 收藏 -
Redis Stream 的 NOACK 让新读取消息不进入 PEL,却不能保证业务成功。本文给出消费组命令和两组对照示例,区分读取、成功与 Pending 计数,说明性能测量方法及丢失容忍边界。498 收藏 -
MySQL 可用 JSON_OVERLAPS 判断两个 JSON 数组是否至少共享一个元素。本文以标签筛选说明数字与字符串、嵌套数组、SQL NULL 和空数组的区别,并给出只读 SQL 示例与查询回退思路。498 收藏 -
使用 MySQL mysqlbinlog 按时间范围导出增量日志时,关键是把日志文件列表和起止时间同时限定好。本文说明 --start-datetime、--stop-datetime 的边界语义、跨文件导出方式,以及远程读取和空间权限注意事项。498 收藏 -
数据库 · MySQL | 2个月前 | MySQL · sql优化 · 数据库运维 · 性能排查 · MySQL 8.4 SET_VAR optimizer hint sort_buffer_size SQL 性能隔离
MySQL 8.4 的 SET_VAR 优化器提示可以只为一条 SQL 临时调整可用系统变量。本文用报表排序场景说明语法、作用域、可调整变量、EXPLAIN 验收和回退边界,避免为了单条慢查询修改整个实例。497 收藏 -
数据库 · MySQL | 1个月前 | MySQL · InnoDB · MySQL锁等待 performance_schema.data_lock_waits data_locks锁对象 InnoDB事务阻塞 锁等待链定位
从 data_lock_waits 和 data_locks 还原等待事务、阻塞事务及锁对象,再映射到 InnoDB 会话和最后 SQL,形成一套可复核的 MySQL 锁等待链定位方法。497 收藏 -
Redis Sentinel 故障转移后,不要只凭一个地址判断成功。本文用当前主节点地址、实例角色和配置纪元三类信息,说明怎样确认切换已经完成。496 收藏 -
MySQL 分区键不能只看字段是否有索引,还要同时看查询能否触发分区裁剪、数据是否按时间维护,以及主键和唯一键是否包含分区列。本文用 RANGE、COLUMNS、LIST、HASH 和 KEY 对比一个可落地的选择顺序。495 收藏 -
Redis 7.0 及以上可用 no-writes 注册只读函数,再通过 FCALL_RO 调用并路由到只读副本。本文说明函数声明、numkeys 参数边界、KEYS/ARGV 划分、常见拒绝原因与复制延迟取舍。495 收藏 -
Redis BITPOS 在参数末尾加 BIT 后,会把 start 和 end 当作包含端点的位范围,并返回匹配位的绝对编号。本文说明 BYTE 与 BIT 的区别、首个置位点查询和 -1 返回值的处理方式。495 收藏 -
数据库 · MySQL | 2个月前 | MySQL · 数据库 · 权限管理 · 故障排查 · 账号安全 · 账号锁定 MySQL 8.4 FAILED_LOGIN_ATTEMPTS PASSWORD_LOCK_TIME ACCOUNT UNLOCK
MySQL 8.4 账号因为连续输错密码被临时锁定时,不能只看一条 Access denied。本文用 SHOW CREATE USER、Locked_connects 和失败登录记录区分锁定原因,并给出安全解锁、策略修正与复查步骤。494 收藏 -
Redis LMPOP 可以从多个候选列表中找到第一个非空键,并按 LEFT 或 RIGHT 一次弹出指定数量。本文用订单队列示例拆清 COUNT、空队列返回和集群多键边界。494 收藏 -
Redis 8.6 为 Streams 的 XADD 增加 IDMP 与 IDMPAUTO,帮助生产端在网络断开或进程重试时避免同一消息重复入流。本文拆开 pid、iid、Stream entry ID 与消费者组的边界,给出可验证的命令写法。494 收藏 -
Redis Stream 消费组里的 Pending 消息不是普通队列积压。本文用 XPENDING 判断空闲时间,再用 XAUTOCLAIM 认领超时消息,最后用 XACK 收口,并说明认领后的重复消费与幂等边界。494 收藏