分布式锁是在分布式系统中用于保护共享资源的一种机制。它可以确保在多个节点并发访问共享资源时的数据一致性和正确性。Redis是一个流行的分布式缓存和键值存储系统,也可以用来实现分布式锁。下面将详细介绍如何使用Redis实现分布式锁,并提供相应的示例代码。
-
基于SETNX和EXPIRE命令的实现方法:
Redis提供了SETNX命令,用于将一个键的值设置为给定的值,只有在键不存在的情况下才设置成功。结合EXPIRE命令可以为键设置一个过期时间,使得锁在一定时间后自动释放。以下是一个基于SETNX和EXPIRE命令实现的分布式锁的示例代码:
import redis
import time
# 连接Redis
r = redis.Redis(host='localhost'