最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)的redis分布式鎖功能示例

 更新時間:2018年05月29日 11:07:17   作者:junli_chen  
這篇文章主要介紹了Python實現(xiàn)的redis分布式鎖功能,結(jié)合實例形式分析了Python操作redis分布式鎖與解鎖功能相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)的redis分布式鎖功能。分享給大家供大家參考,具體如下:

#!/usr/bin/env python
# coding=utf-8
import time
import redis
class RedisLock(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
  def get_lock(cls, timeout=10):
    while cls._lock != 1:
      timestamp = time.time() + timeout + 1
      cls._lock = cls.rdcon.setnx(cls.lock_key, timestamp)
      if cls._lock == 1 or (time.time() > cls.rdcon.get(cls.lock_key) and time.time() > cls.rdcon.getset(cls.lock_key, timestamp)):
        print "get lock"
        break
      else:
        time.sleep(0.3)
  @staticmethod
  def release(cls):
    if time.time() < cls.rdcon.get(cls.lock_key):
      print "release lock"
      cls.rdcon.delete(cls.lock_key)
def deco(cls):
  def _deco(func):
    def __deco(*args, **kwargs):
      print "before %s called [%s]."%(func.__name__, cls)
      cls.get_lock(cls)
      try:
        return func(*args, **kwargs)
      finally:
        cls.release(cls)
    return __deco
  return _deco
@deco(RedisLock("112233"))
def myfunc():
  print "myfunc() called."
  time.sleep(20)
if __name__ == "__main__":
  myfunc()

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python常見數(shù)據(jù)庫操作技巧匯總》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • python內(nèi)置函數(shù)之eval函數(shù)詳解

    python內(nèi)置函數(shù)之eval函數(shù)詳解

    這篇文章主要為大家介紹了python內(nèi)置函數(shù)之eval函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • python常用排序算法的實現(xiàn)代碼

    python常用排序算法的實現(xiàn)代碼

    這篇文章主要介紹了python常用排序算法的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Python中if __name__ ==

    Python中if __name__ == "__main__"詳細解釋

    這篇文章主要介紹了Python中if __name__ == "__main__"詳細解釋,需要的朋友可以參考下
    2014-10-10
  • Python基礎(chǔ)教程之錯誤和異常的處理方法

    Python基礎(chǔ)教程之錯誤和異常的處理方法

    程序在運行時,如果python解釋器遇到一個錯誤,會停止程序的執(zhí)行,并且提示一些錯誤信息,這就是異常,下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之錯誤和異常的處理方法,需要的朋友可以參考下
    2022-05-05
  • Django的models模型的具體使用

    Django的models模型的具體使用

    這篇文章主要介紹了Django的models模型的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python smtplib模塊實現(xiàn)發(fā)送郵件帶附件sendmail

    python smtplib模塊實現(xiàn)發(fā)送郵件帶附件sendmail

    這篇文章主要為大家詳細介紹了python smtplib模塊實現(xiàn)發(fā)送郵件帶附件sendmail,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python搭建監(jiān)控平臺的實現(xiàn)示例

    Python搭建監(jiān)控平臺的實現(xiàn)示例

    本文主要介紹了Python搭建監(jiān)控平臺的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python實現(xiàn)修改固定模式的字符串內(nèi)容操作示例

    python實現(xiàn)修改固定模式的字符串內(nèi)容操作示例

    這篇文章主要介紹了python實現(xiàn)修改固定模式的字符串內(nèi)容操作,結(jié)合實例形式詳細分析了Python修改固定模式字符串原理、實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-12-12
  • Python如何合并多個字典或映射

    Python如何合并多個字典或映射

    這篇文章主要介紹了Python如何合并多個字典或映射,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 基于Python的接口自動化讀寫excel文件的方法

    基于Python的接口自動化讀寫excel文件的方法

    這篇文章主要介紹了基于Python的接口自動化讀寫excel文件,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01

最新評論

准格尔旗| 汉川市| 永济市| 南召县| 平武县| 湘阴县| 磴口县| 定兴县| 台南市| 北碚区| 宿迁市| 泽普县| 井研县| 汤原县| 阆中市| 尖扎县| 尚义县| 县级市| 石阡县| 鸡泽县| 淳安县| 桑植县| 民勤县| 玛多县| 仁寿县| 台南市| 大足县| 尖扎县| 泸溪县| 龙里县| 兰西县| 定襄县| 高淳县| 涿鹿县| 江北区| 巴东县| 罗山县| 南丰县| 宝山区| 铜鼓县| 怀来县|