Flask-Cache 怎么缓存动态内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask-Cache 怎么缓存动态内容相关的知识,希望对你有一定的参考价值。
参考技术A 看了一下 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
如何让CDN 缓存动态页面
参考技术A 首先要纠正这个问题,动态内容是没办法缓存的。动态内容需要的是信息的实时交互,如果采用了缓存,会影响正常业务。
举个例子,国航官网,订票内容就是动态的,如果这时候将这部分进行缓存,那当用户订票的时候,官网显示剩余10张票,并且在缓存过期内,会一直显示10张票。而实际数据库里已经没有票了。这时候势必会影响到客户体验。
动态内容的CDN加速其实还是链路和协议的优化。
首先,国内ISP复杂,南北互通的问题,会导致访问速度慢,CDN厂商有覆盖全国的PBL网络(可以理解为CDN提供商自己的私有网络,独立的ISP),当采用动态加速时,将内容引入CDN供应商的网络内,再根据分布在全国的CDN节点作为接入和落地口,达到链路的最优。
其次,CDN供应商会针对TCP等协议进行优化和调整,使正常的TCP三次握手减少到1次,从而减少计算机与计算机、路由之间的信息传递环节,从而达到加速目的。本回答被提问者和网友采纳
以上是关于Flask-Cache 怎么缓存动态内容的主要内容,如果未能解决你的问题,请参考以下文章