Closed Torniojaws closed 6 years ago
Appears to work, when defined in the GET /news endpoint.
from app import cache
class NewsView(FlaskView):
@cache.cached(timeout=50)
def index(self):
$ redis-cli FLUSHALL
OK
(vortech-backend) vagrant@ubuntu-xenial:~/omat/vortech-backend$ flask run
* Serving Flask app "app"
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [23/Mar/2018 13:28:16] "GET /api/1.0/news HTTP/1.1" 200 -
127.0.0.1 - - [23/Mar/2018 13:28:33] "GET /api/1.0/photos HTTP/1.1" 200 -
127.0.0.1 - - [23/Mar/2018 13:28:43] "GET /api/1.0/news HTTP/1.1" 200 -
$ redis-cli MONITOR
OK
1521811695.739362 [0 127.0.0.1:51034] "GET" "flask_cache_view//api/1.0/news"
1521811696.095651 [0 127.0.0.1:51034] "SETEX" "flask_cache_view//api/1.0/news" "50" "!\x80\x03cflask.wrappers\nResponse\nq\x00)\x81q\x01}q\x02(X\a\x00\x00\x00headersq\x03cwerkzeug.datastructures\nHeaders\nq\x04)\x81q\x05}q\x06X\x05\x00\x00\x00_listq\a]q\bX\x0c\x00\x00\x00Content-Typeq\tX\x10\x00\x00\x00application/jsonq\n\x86q\x0basbX\b\x00\x00\x00responseq\x0cX\x10\x00\x00\x00{\n \"news\": []\n}q\rX\x01\x00\x00\x00\nq\x0e\x86q\x0fX\x12\x00\x00\x00direct_passthroughq\x10\x89X\a\x00\x00\x00_statusq\x11X\x06\x00\x00\x00200 OKq\x12X\x0c\x00\x00\x00_status_codeq\x13K\xc8X\t\x00\x00\x00_on_closeq\x14]q\x15ub."
1521811723.962450 [0 127.0.0.1:51034] "GET" "flask_cache_view//api/1.0/news"
Works
Use Flask-Cache to cache responses from routes like:
http://pythonhosted.org/Flask-Cache/