@@ -85,7 +85,7 @@ def RedisCache(redis_conn=None, debug=False, with_lock=False, fail_gracefully=Fa
|
|||||||
try:
|
try:
|
||||||
instance_name = 'redis_instance_' + current.request.application
|
instance_name = 'redis_instance_' + current.request.application
|
||||||
if not hasattr(RedisCache, instance_name):
|
if not hasattr(RedisCache, instance_name):
|
||||||
setattr(RedisCache, instance_name,
|
setattr(RedisCache, instance_name,
|
||||||
RedisClient(redis_conn=redis_conn, debug=debug,
|
RedisClient(redis_conn=redis_conn, debug=debug,
|
||||||
with_lock=with_lock, fail_gracefully=fail_gracefully))
|
with_lock=with_lock, fail_gracefully=fail_gracefully))
|
||||||
return getattr(RedisCache, instance_name)
|
return getattr(RedisCache, instance_name)
|
||||||
@@ -137,6 +137,10 @@ class RedisClient(object):
|
|||||||
value = None
|
value = None
|
||||||
ttl = 0
|
ttl = 0
|
||||||
try:
|
try:
|
||||||
|
if f is None:
|
||||||
|
# delete and never look back
|
||||||
|
self.r_server.delete(newKey)
|
||||||
|
return None
|
||||||
# is there a value
|
# is there a value
|
||||||
obj = self.r_server.get(newKey)
|
obj = self.r_server.get(newKey)
|
||||||
# what's its ttl
|
# what's its ttl
|
||||||
@@ -149,9 +153,6 @@ class RedisClient(object):
|
|||||||
if self.debug:
|
if self.debug:
|
||||||
self.r_server.incr('web2py_cache_statistics:hit_total')
|
self.r_server.incr('web2py_cache_statistics:hit_total')
|
||||||
value = pickle.loads(obj)
|
value = pickle.loads(obj)
|
||||||
elif f is None:
|
|
||||||
# delete and never look back
|
|
||||||
self.r_server.delete(newKey)
|
|
||||||
else:
|
else:
|
||||||
# naive distributed locking
|
# naive distributed locking
|
||||||
if with_lock:
|
if with_lock:
|
||||||
|
|||||||
Reference in New Issue
Block a user