我跟着Flask-Cache教程试着自己实现了一下。 根据以下的例子,为什么Flask不会缓存时间呢?
from flask import Flask
import time
app = Flask(__name__)
cache = Cache(config={'CACHE_TYPE': 'simple'})
cache.init_app(app)
@app.route('/time')
@cache.cached(timeout=50, key_prefix='test')
def test():
return time.ctime()
输出始终为当前时间。
看起来缓存在每个请求时都重新生成了。我做错了什么?
编辑:我使用 Python 2.7.6 执行以下Python文件:
def runserver():
port = int(os.environ.get('PORT', 5000))
Triangle(app)
app.run(host='0.0.0.0', port=port, processes=5)
if __name__ == '__main__':
runserver()
app.run()
开发服务器运行时,时间会被缓存。你是怎么运行的? - Martijn PietersSimpleCache
是一个全局字典。如果您正在使用使用多进程进行扩展的WSGI服务器,将会得到单独的副本,并且它们似乎不会被缓存。 - Martijn Pieters