看了一下 Flask-Cache 的文档,比如:
from flask import Flask
from flask.ext.cache import Cache
app = Flask(__name__)
# Check Configuring Flask-Cache section for more details
cache = Cache(app,config={'CACHE_TYPE': 'simple'})
cache = Cache(config={'CACHE_TYPE': 'simple'})
# cache = Cache(app, config={'CACHE_TYPE': 'redis'})
app = Flask(__name__)
cache.init_app(app)
然后缓存视图函数:
@cache.cached(timeout=50)
def index():
return render_template('index.html')
1 、如果这个视图函数 index()是动态的内容,比如是用户的 Newsfeed 聚合页,这个 cache 是缓存每一个用户的 index 内容吗?
2 、文档里简单提到,在 config 里( Werkzeug 0.7 以上版本即可),可以把 CACHE_TYPE 的 simple 改用 redis 来代替,这个 redis 的缓存数据,可以通过 SQLAlchemy 从 MySQL 加载部分需要缓存的数据吗?
原链接:
http://www.pythondoc.com/flask-cache/index.html#flask.ext.cache.Cache.memoize
http://stackoverflow.com/questions/24589123/how-to-cache-sql-alchemy-calls-with-flask-cache-and-redis
1
strahe 2017-01-26 20:00:33 +08:00
我记得这个只能缓存静态页,不知道是不是记错了,建议自己写一个缓存封装,
|
2
xyjtou 2017-01-26 21:16:39 +08:00
1 、动态的内容也可以缓存,但是如果有更新的话,在缓存过期之前,是不会加载更新的内容。
2 、 redis 是 nosql 数据库,不能直接从 MySQL 直接加载数据,需要程序转换。 |
3
ke1e 2017-01-26 23:17:58 +08:00 via Android
聪 mysql 加载就不是缓存了,最好还是不要缓存视图
|
4
ericls 2017-01-27 05:50:29 +08:00
不同的用户用不同的 key
|