#codng=utf-8
"""
@des: timeout 和 blocking_timeout的区别
timeout -----------如果with代码段里面的执行时间超过了 timeout,那么就释放锁
blocking_timeout---如果在blocking_timeout内没有获取到锁,那么就根据逻辑判断是否执行其他,看haha1
"""
def haha1():
from django.core.cache import cache
import time
r = cache.raw_client
mylock = r.lock("123", blocking_timeout=10)
getlock = mylock.acquire()
if getlock:
print "getlock"
r.hset('a',1,1000)
time.sleep(20)
mylock.release()
print "end"
def haha():
from django.core.cache import cache
import time
r = cache.raw_client
with r.lock("123"):
print "getlock"
r.hset('a',1,1000)
time.sleep(20)
print "end"