跳到主要内容

分布式锁

2025年01月06日
柏拉文
越努力,越幸运

一、认识


使用 Redis 的分布式锁机制避免多个请求同时更新缓存和数据库,导致并发问题。

二、语法


2.1 设置

2.2 更新

const lockKey = `lock:${key}`;
if (await redis.set(lockKey, "1", "NX", "EX", 5)) {
try {
await db.update(...); // 更新数据库
await redis.set(...); // 更新缓存
} finally {
await redis.del(lockKey); // 释放锁
}
}