def cached(timeout=5 * 60, key='blog_view_%s'):
def decorator(f):
@wraps(f)
def decorated_function(*args, **kwargs):
cache_key = key % request.full_path
if request.method == 'POST':
value = f(*args, **kwargs)
cache.set(cache_key, value, timeout=timeout)
return value
value = cache.get(cache_key)
if value is None:
value = f(*args, **kwargs)
cache.set(cache_key, value, timeout=timeout)
return value
return decorated_function
return decorator
评论列表
文章目录