如何使用Pyramid缓存?

时间:2011-12-28 01:50:27

标签: python sqlalchemy pyramid

我查看了文档并且没有看到(从一见钟情)金字塔中缓存的任何内容。也许我错过了一些东西......或者也许有一些第三方软件包来帮助解决这个问题。

例如,如何缓存db查询(SQLAlchemy),如何缓存视图?任何人都可以提供一些示例或文档的链接吗?

感谢任何帮助!

编辑:

如何使用memcache或数据库类型缓存或基于文件的缓存?

2 个答案:

答案 0 :(得分:6)

您应该安装pyramid_beaker

然后阅读beaker文档。默认情况下,它使用基于内存的缓存,但它可以轻松支持memcached和基于文件的缓存。

答案 1 :(得分:6)

您的选项是pyramid_beaker和dogpile.cache

编写pyramid_beaker是为了为会话提供烧杯缓存。它还允许您配置烧杯缓存区域,可以在别处使用。

dogpile.cache是​​烧杯的替代品。它还没有集成到提供会话支持或基于environment.ini的设置。然而,它解决了烧杯的许多杂项问题和缺点。

你不能/不应该缓存SqlAlchemy查询或结果。奇怪和坏事将会发生,因为SqlAlchemy对象绑定到数据库会话。将sqlalchemy结果转换为另一个对象/字典并缓存它们会好得多。