【问题标题】:How to cache simple Flask Restful API如何缓存简单的 Flask Restful API
【发布时间】:2020-09-27 02:06:55
【问题描述】:

我正在开发我的第一个 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】:

    看起来不错,您可以通过将 time.sleep(60) 放入您的路线来轻松检查缓存是否正常

    如果缓存不起作用,它会在每次发送响应之前等待 1 分钟 - 如果一切设置正确,它只会每周执行一次(因为当缓存处于活动状态时,“睡眠”行将不会不再执行)

    您可以在本地使用 Postman 进行检查,或者只需访问浏览器中的网址

    -> 记得在上线前明显删除它!

    这是一个关于它的好视频 https://www.youtube.com/watch?v=iO0sL6Vyfps

    【讨论】:

      猜你喜欢
      • 2020-08-13
      • 2017-08-01
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多