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 怎么缓存动态内容的主要内容,如果未能解决你的问题,请参考以下文章

flask-cache使用redis缓存出现的错误

如何让CDN 缓存动态页面

NGINX proxy 模块如何如何缓存动态页面内容?如何让缓存过期

ESI 动态缓存技术

ATS巧玩儿缓存策略增加动态服务吞吐量

php 缓存动态内容