原创 Redis 分布式锁的正确实现:从 SETNX 到 Redisson 看门狗
一、错误示范:先 setnx 再 expire 二、正确姿势:原子命令 为什么必须校验 value:防止 A 线程超时后,B 获得锁,A 恢复后误删 B 的锁。 三、锁续期(Watch Dog) 业务执行时间超过锁超时时间的解决方案: 四、直接使用 Redisson Redisson 帮我们做了: ...
精华 原创 MySQL 索引失效的 12 种场景与解决方案(附执行计划分析)
准备测试表 1. 隐式类型转换 2. 对索引列使用函数 3. 违反最左前缀 4. OR 连接非索引列 5. != / NOT IN / NOT EXISTS 6. IS NULL / IS NOT NULL 7. LIKE 左模糊 8. 范围查询后的列失效 9. 字符集/排序规则不一致 10. 数据...
1共 2 条