Кеширование базы данных в Python - PullRequest
4 голосов
/ 02 апреля 2012

В проекте мне нужно кэшировать данные базы данных, извлекаемые из каждого запроса. Так что в следующий раз данные (строки таблицы) будут выбираться из кэша, а не из базы данных, тем самым улучшая производительность. В БД у меня более 10 миллионов данныхстрок.Я просматривал документацию по кешу мензурки, из которой кажется, что она будет кешировать только функцию вместе с аргументами в качестве ключей. Так как это может хранить данные таблицы, что является моей главной целью?Или есть другие хорошие модули кэширования базы данных, доступные в python?

Ответы [ 2 ]

2 голосов
/ 02 апреля 2012

FWIW, вот простой и быстрый кэш LRU, полезный для кэширования результатов запросов к БД: http://code.activestate.com/recipes/578078

2 голосов
/ 02 апреля 2012

Beaker настраивается для кеширования чего-либо, подобного вызовам вашей базы данных. Они предназначены для приложения в стиле WSGI, в котором вы взаимодействуете с базой данных через методы контроллера, а лабораторный стакан является оберткой для этих методов контроллера и, таким образом, кэширует данные, возвращаемые из базы данных через эти методы.

В зависимости от того, как вы обращаетесь к данным из базы данных, вы должны искать memcached . Он имеет Python API, а затем доступен из различных фреймворков, таких как Django , а также расширение мензурки .

...