Torniojaws / vortech-backend

Python 3 backend for the Vortech website.
https://vortechmusic.com
MIT License
0 stars 0 forks source link

Add caching #48

Closed Torniojaws closed 6 years ago

Torniojaws commented 6 years ago

Use Flask-Cache to cache responses from routes like:

http://pythonhosted.org/Flask-Cache/

Torniojaws commented 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"
Torniojaws commented 6 years ago

Works