Flask-Caching与NGINX一起使用UWSGI缓存

时间:2018-08-30 12:07:36

标签: python nginx uwsgi flask-cache flask-caching

根据UNIX-Socket将UWSGI连接到flask应用程序:

NGINX(侦听端口80)<-> UWSGI(每个UNIX侦听器侦听器)<-> FLASK-APP

我已经启动了uwsgi缓存来处理全局数据。 我想使用python包flask-caching处理缓存。

我正在尝试使用正确的缓存地址初始化Cache-instance。似乎有问题。 我认为app.run()的参数与uwsgi不相关。

如果我要设置一个缓存条目,它将始终返回None:

app.route("/")
def test():
    cache.set("test", "OK", timeout=0)
    a = cache.get("test")
    return a

main.py

from flask import Flask
from flask_caching import Cache

app = Flask(__name__)
# Check Configuring Flask-Caching section for more details
cache = Cache(app, config={'CACHE_TYPE': 'uwsgi', 'CACHE_UWSGI_NAME':'mycache@localhost'})

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000)

uwsgi.ini

[uwsgi]
module = main
callable = app
cache2 = name=mycache,items=100

nginx.conf

server {
    listen 80;
    location / {
        try_files $uri @app;
    }
    location @app {
        include uwsgi_params;
        uwsgi_pass unix:///tmp/uwsgi.sock;
    }
    location /static {
        alias /app/testapp/static;
    }
}

我正在使用https://github.com/tiangolo/uwsgi-nginx-flask-docker中的docker build。该应用程序正在运行,需要缓存。

0 个答案:

没有答案