Почему SQLite подходит для кеша шаблонов? - PullRequest
3 голосов
/ 14 февраля 2010

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

Я еще никогда не использовал его, но как использовать SQLite быстрее, чем обычная файловая система?

IMO издержки (инициирование соединения) замедляют работу.

Кстати, кто-нибудь может предоставить демо-версию, как использовать SQLite?

Ответы [ 2 ]

3 голосов
/ 14 февраля 2010

Нет реального понятия "инициирование соединения" : база данных SQLite хранится как отдельный файл в локальной файловой системе; так что нет ничего похожего на сетевое соединение.

Я полагаю, что использование базы данных SQLite можно увидеть так же быстро, как только один файл (база данных) , а не один файл на шаблон - и каждый доступ к файлу стоит некоторых ресурсов; операционная система может более эффективно кэшировать доступ к одному большому файлу, к нескольким доступам к нескольким отдельным маленьким файлам.


Что касается "демонстрации использования SQLite" , то это зависит от того, какой язык вы будете использовать, но вы можете начать с изучения документации SQLite и API, доступный на вашем языке программирования; получить доступ к базе данных SQLite не так сложно: в основном вам необходимо:

  • «Подключиться» к БД - т.е. открыть файл
  • Выполнить несколько SQL-запросов
  • Закрыть соединение

Он не сильно отличается от любого другого механизма БД: самое большое отличие заключается в том, что нет необходимости настраивать сервер БД.

1 голос
/ 14 февраля 2010

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

Однако при использовании SQLite есть некоторые накладные расходы. Когда вы подключаетесь к базе данных SQLite, механизм читает и анализирует схему. В нашей системе это занимает 30 мс (хотя для небольших схем это обычно меньше 1 мс - у нас чуть меньше ста таблиц и сотни триггеров и индексов).

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