我正在尝试使用缓存工具在我成功完成的烧瓶应用程序中缓存 2 个函数。对 API 的 URL 请求格式类似于: URL- '***.com/rec/some_id/0/23413444;2134134124;4352352345'
但是当我想缓存这些函数并且 URL 请求发生变化时,这个逻辑有一些限制。最好将这些函数缓存到 URL 中的“some_id”保持不变。一旦 'some_id' 被更改并通过 URL,它必须从头开始,而不使用缓存函数。
这是我尝试过的。
from flask import Flask
from cachetools import cached, TTLCache
app = Flask(__name__)
cache1 = TTLCache(maxsize=100, ttl=60)
cache2 = TTLCache(maxsize=100, ttl=60)
@cached(cache1)
funtion1():
do_something...
return a
@cached(cache2)
function2():
do_something...
return b
@app.route('/rec/<some_id>/<itr>/<int_list:item>')
def get_rec(model_id,item,itr):
a=function1()
b=function2()
result= jsonify(a,b)
return result
If __name__ == '__main__':
app.run(threaded=True)
必须做些什么来实现所需的逻辑?如果有人可以帮助我,那就太好了。