如何缓存简单的Flask Restful API

问题描述 投票:1回答:1

我正在开发我的第一个Flask Restful API,并且试图将其缓存一周,以便它仅发出一个在星期日更新的请求。我打算在星期日将其上传到Heroku,以便将我设置的超时(604800)同步到星期日。我能够创建显示JSON的页面,但是我正在寻找一些有关缓存位的建议,因为我感觉自己做的不正确,并且不确定如何在本地检查它是否正确甚至可以在将其上传到Heroku之前工作。

from flask import Flask
from flask_caching import Cache
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

cache = Cache(app, config={'CACHE_TYPE': 'simple'})

class Products(Resource):
    @cache.cached(timeout=604800) # cache set to 1 week in seconds
    def get(self):
        product_list = []
        item_count = len(product)
        for x in range(item_count):
            product_list.append({'title':product[x].title, 'url':product[x].url,'image':product[x].images.medium})
        return {'product_list':product_list}


api.add_resource(Products, '/')

python-3.x flask flask-restful flask-caching
1个回答
0
投票

看起来不错,您可以通过在路径中放置time.sleep(60)来轻松检查缓存是否正常工作

如果缓存不起作用,它将每次等待一分钟,然后每次发送响应-如果一切设置正确,则每周仅这样做一次(由于缓存处于活动状态,因此“ sleep”行将不再被执行)

您可以使用Postman在本地进行检查,也可以直接在浏览器中访问该网址

->请记住在上线之前将其删除!

这里有一个很好的视频https://www.youtube.com/watch?v=iO0sL6Vyfps

© www.soinside.com 2019 - 2024. All rights reserved.