Python实现的redis分布式锁功能示例
本文实例讲述了Python实现的redis分布式锁功能。分享给大家供大家参考,具体如下:
#!/usr/bin/envpython #coding=utf-8 importtime importredis classRedisLock(object): def__init__(self,key): self.rdcon=redis.Redis(host='',port=6379,password="",db=1) self._lock=0 self.lock_key="%s_dynamic_test"%key @staticmethod defget_lock(cls,timeout=10): whilecls._lock!=1: timestamp=time.time()+timeout+1 cls._lock=cls.rdcon.setnx(cls.lock_key,timestamp) ifcls._lock==1or(time.time()>cls.rdcon.get(cls.lock_key)andtime.time()>cls.rdcon.getset(cls.lock_key,timestamp)): print"getlock" break else: time.sleep(0.3) @staticmethod defrelease(cls): iftime.time()更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《PythonSocket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。