在python中缓存数据库数据

时间:2012-04-02 07:25:00

标签: python caching beaker

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

2 个答案:

答案 0 :(得分:2)

Beaker可配置为缓存数据库调用之类的任何内容。它们是为WSGI样式应用程序设计的,您可以通过控制器方法与数据库进行交互,并将beaker作为这些控制器方法的包装器,从而通过这些方法缓存从数据库返回的数据。

根据您从数据库访问数据的方式,您应该寻找memcached。它有python apis,然后可以从Djangobeaker extension这样的不同框架中获得。

答案 1 :(得分:2)

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