如何缓存(几乎)只读的Flask web应用程序



我有一个Flask web应用程序,该应用程序没有注册用户,但其数据库每天更新(因此内容每天只更改一次)。

在我看来,最好的选择是每天缓存整个网站一次,并提供缓存中的所有内容。

我尝试了使用Flask Cache,但会创建一个动态页面,然后为每个不同的用户会话缓存,这显然不理想,因为无论谁在浏览网站,内容都是相同的。

你知道我该如何做得更好吗,要么使用Flask Cache,要么使用其他东西?

也许使用内存中的SQLite数据库?看起来和感觉都像任何常规数据库,但具有内存访问速度。

几年前,我编写了一个内存数据库,称之为littletable。表表示为对象列表。选择和查询通常通过简单的列表扫描来完成,但可以对常见的对象属性进行索引。表格可以连接或旋转。

littletable模型的主要区别在于,没有单独的表与结果列表的概念。任何查询或联接的结果都是另一个表。表还可以存储命名元组和称为DataObject的小表定义类型。可以将表导入/导出到CSV文件,以保持任何更新。

至少有一个网站使用littletable来维护其大部分静态的产品目录。在更常见的数据库中创建实际的表之前,您可能还会发现littletable对于原型设计非常有用。这是在线文档的链接。

最新更新