Есть ли там программный кеширующий API? - PullRequest
1 голос
/ 11 января 2009

Я ищу API или приложение , которое может кэшировать данные из файла или базы данных . Моя идея состоит в том, что у меня есть приложение, которое читает базу данных, но доступ к базе данных является последовательным и находится на диске.

Что я в основном хочу сделать, так это сначала получить данные из кэша, а затем, если они не существуют в кэше, затем нажать на базу данных. Примечание. Я не использую основную базу данных, я использую SQLite , но мои требования к производительности очень высоки.

Так есть ли какой-либо продукт или API (бесплатный или коммерческий), который я могу использовать для этой цели? Также у меня должен быть API для взаимодействия с моим кешем.

Я хочу реализовать что-то вроде кэша веб-сервера или что-то в этом роде.

Я использую C и платформу Unix.

Спасибо

Ответы [ 3 ]

8 голосов
/ 11 января 2009

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

Одна вещь, которую я бы упомянул, это то, что вам, вероятно, следует провести какой-то реальный сравнительный анализ, чтобы убедиться, что ваша база данных является вашим узким местом, и если производительность действительно вызывает озабоченность, то вам придется рассмотреть вопрос о расширении до СУБД Если это не вариант, вы все равно сможете оптимизировать доступ к существующей базе данных (оптимизация запросов, индексы и т. Д.).

5 голосов
/ 11 января 2009

Оформить memcached . Брайан Акер написал для него библиотеку C .

Но я бы также поддержал предложение Роба. SQLite и «требования к производительности очень высоки» могут не совпадать, в зависимости от того, какой аспект производительности вы имеете в виду.

1 голос
/ 12 января 2009

Вы можете попробовать библиотеку Zola's CaLi: http://icis.pcz.pl/~zola/CaLi/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...