RedisLock¶
- class deepfos.lib.redis.RedisLock(key, redis_client=None, renew_interval=5, expire_sec=10, raises=None, blocking_timeout=0)¶
通过Redis实现的锁对象
- 参数
提示
使用
with
获取锁时,如果获取失败,将直接报错。 使用aquire
获取时,将返回bool
类型,表示是否获取成功。示例
with RedisLock('locked_key_a'): do_something() lock = RedisLock('locked_key_b') if lock.aquire(): try: do_something() finally: lock.release()
- locked()¶
key是否被某个锁拥有
- owned()¶
key是否被当前锁拥有
- release()¶
释放当前锁