初始缓存对象代码如下:
pageCache = Cache()
cacheDir = os.path.join(path.dirname(path.dirname(__file__)),'pageCache')
pageCache.init_app(flaskApp,config={'CACHE_TYPE': 'filesystem','CACHE_THRESHOLD':1>>10>>10,'CACHE_DIR': cacheDir })
我使用pageCache如下:
class CodeList:
"""
show code list
"""
@pageCache.cached(timeout=60)
def GET(self):
i = web.input()
sort = i.get('sort','newest')
pageNo = int(i.get('page','1'))
if i.get('pageSize'):
pageSize = int(i.get('pageSize'))
else:
pageSize = DEFAULT_LIST_PAGE_SIZE
if pageSize > 50:
pageSize = 50
items = csModel.getCodeList(sort=sort,pageNo=pageNo,pageSize=pageSize)
totalCount = csModel.getCodeCount()
pageInfo = (pageNo,pageSize,totalCount)
return render.code.list(items,pageInfo)
当我请求此页面时,我有一个例外:
在/ code-snippet /处输入'exceptions.RuntimeError' 在请求上下文之外工作
Python C:\ Python27 \ lib \ site-packages \ flask-0.9-py2.7.egg \ flask \ globals.py in> _lookup_object,第18行
答案 0 :(得分:1)
Flask-Cache是 - 顾名思义 - 一个Flask扩展。因此,如果您不使用Flask,则无法正常使用它。
您可以使用werkzeug.cache
- Flask-Cache也在使用它。但是,根据您的需要,最好使用例如直接memcached - 当使用诸如werkzeug.cache
之类的包装器时,你会失去缓存引擎的所有高级功能,因为它包含了一个相当简单/简约的API。