6

在项目中,我需要缓存从每个请求中获取的数据库数据。这样从下一次开始,数据(表行)将从缓存而不是 db 中提取,从而提高性能。在 DB 中,我有超过 10M 的数据行。我正在浏览烧杯缓存文档,从中它似乎只会缓存函数以及作为键的参数。那么这如何存储我的主要目标的表数据?或者在 python 中还有其他好的数据库缓存模块吗?

4

2 回答 2

2

Beaker 也可配置为缓存数据库调用等任何内容。它们是为 WSGI 风格的应用程序设计的,您可以通过控制器方法与数据库交互,并且烧杯作为这些控制器方法的包装器,从而缓存通过这些方法从数据库返回的数据。

根据您从数据库访问数据的方式,您应该寻找memcached。它具有 python api,然后可从不同的框架(如 Django)和烧杯扩展中使用。

于 2012-04-02T07:46:12.873 回答
2

FWIW,这里有一个简单快速的 LRU 缓存,用于缓存 DB 查询的结果: http: //code.activestate.com/recipes/578078

于 2012-04-02T07:48:08.050 回答