Wan*_*ick 3 flask flask-caching
我只是想知道使用Flask-Caching时响应的存储方式和位置。
例如:
from flask import Flask, request
from flask_caching import Cache
import datetime
app = Flask(__name__)
cache = Cache(app, config={'CACHE_TYPE': 'simple'})
def make_cache_key(*args, **kwargs):
return request.url
@app.route('/', methods=['GET'])
@cache.cached(timeout=50, key_prefix=make_cache_key)
def foo():
time = str(datetime.datetime.now()) + " " + str(request.url)
return time, 200
if __name__ == '__main__':
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
在您的示例中,它将存储在Python解释器的内存中。
您的设置在内存中,因此不会在多台服务器之间扩展。但是,您可以选择指定其他缓存后端(例如,通过扩展基本缓存类来指定memcached或Redis,或者甚至是您自己的自定义后端)。
根据文档,我们看到它使用了werkzeug:
除了通过统一的API为werkzeug的所有受支持的缓存后端提供支持外,
然后,当您查看werkzeug缓存文档时:
如果您使用的是开发服务器,则可以创建一个SimpleCache对象,该对象是一个简单的缓存,它将项目存储在Python解释器的内存中。
然后继续显示使用相同设置({'CACHE_TYPE': 'simple'})的示例,它说是Python解释器的内存。
如果要使用其他缓存后端,请查看“ 配置Flask缓存”:
内置缓存类型:
null:NullCache(默认)
simple:SimpleCache
memcached:MemcachedCache(需要pylibmc或memcache)
gaememcached:GAEMemcachedCache
redis:RedisCache(需要Werkzeug 0.7)
文件系统:FileSystemCache
saslmemcached:SASLMemcachedCache(需要pylibmc)
| 归档时间: |
|
| 查看次数: |
2150 次 |
| 最近记录: |