究竟什么是缓存,如何将它添加到我在heroku上的应用程序?

时间:2018-04-22 18:19:37

标签: flask

我有一个数据科学类型的应用程序,我从FPDS和SAM gov't网站获取公共信息。该网站目前在Heroku上。

我想缓存视图,因此,如果一个人正在研究多个公司,他们可以快速返回到之前的页面,而无需每次都从数据库中获取结果。

基于我有限的知识,即兑现的作用?

其次,我正在查看flash-caching,并且对我想要缓存的路线实施起来似乎并不困难。

现在问题是关于Heroku,你不会使用simplecashe吗?你会使用不同的缓存策略吗?在文档中,CASHE_TYPE可以是simpleredismemcached等等。在Heroku上,我需要将缓存存储在像Redis这样的东西上,还是可以将它存储在内存中?理想情况下,为了让所有内容都能正常运行,我希望缓存能够存储在内存中。

1 个答案:

答案 0 :(得分:0)

您的问题回答晚了。缓存可以是客户端和服务器端的多种技术,用于实现减少流量、网络传输或速度的目标。

我将重点关注您所要求的一个方面:redis 与flask 的集成,以实现flask 应用程序环境的更快响应。作为内存数据库,Redis 的速度“令人眼花缭乱”。当我有很多用户要求相同的视图(通常是报表样式的显示)时,我可以中断视图路由以从命名的 redis 数据库中获取响应,这样我的 Flask 服务器就不会被永远重新生成相同的内容所束缚,这反过来又节省了主后端数据库的几个周期。当然,如果该视图/报告的内容发生变化,我必须单独处理。最重要的是,Redis 包含每个条目的过期值,因此处理陈旧内容的一种方法是在过期时间之前删除 redis 内容。

如果您想要示例代码来演示这一点,请告诉我。