我有以下三个文件。
应用程序.py
from flask_restful import Api
from lib import globals
from flask import Flask
from flask.ext.cache import Cache
globals.algos_app = Flask(__name__)
#cache in file system
globals.cache = Cache(globals.algos_app, config={'CACHE_TYPE': 'filesystem', 'CACHE_DIR': '/tmp'})
api = Api(globals.algos_app)
api.add_resource(Test, '/test')
if __name__ == '__main__':
globals.algos_app.run(host='0.0.0.0', debug=True)
全局变量.py
global algos_app
global cache
测试.py
from flask_restful import Resource
from lib import globals
from flask_restful import Resource
import time
class Test(Resource):
def get(self):
return self.someMethod()
def post(self):
globals.cache.clear()
return self.someMethod()
@globals.cache.cached()
def someMethod(self):
return str(time.ctime())
我有一个GET
需要从缓存中获取值的POST
方法和一个通过首先清除缓存来更新缓存的方法。
但是,无论我调用GET
还是POST
方法,它总是给我缓存中的值。
PS:目前我只是在开发服务器上进行测试,但是我确实需要稍后使用 WSGI 部署它。