2013-09-26 8 views
0

У меня есть несколько файлов конфигурации, которые мне нужно читать с диска и применять ко многим записям. Мне нужно улучшить это, чтобы повысить производительность.Можно ли использовать Redis или Memcached в качестве кеша для FILES?

У меня есть два процесса.

Process1: Обновление конфигурации:

  • Это обновляет содержание конфигурационных файлов.
  • Это может работать из нескольких мест.

Process2: Применить настройки:

  • Это использует содержимое файлов конфигурации.
  • Это может работать из нескольких мест.
  • В настоящее время используется прямой файл + n/w IO для чтения обновленных файлов конфигурации.

Both processes are back-end and there is no browser involved here.

Должен ли я использовать Redis или Memcached в качестве кэш-памяти для файлов?

Обратите внимание, что файл должен быть прочитан из общего местоположения. Они обновляются другим фоновым процессом. Обновление может произойти в любое время. Размер файлов конфигурации составляет от 1K до 10K.

Я хочу, чтобы Process2 мог получить доступ к обновленным конфигурационным файлам самым быстрым способом.

ответ

0

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

Проблема, которую я вижу здесь, что каждый клиент должен понимать Redis и использовать некоторую библиотеку поддержки, например. в Java или на любом другом языке, который вы используете.

Почему бы не использовать сам http, например. развернуть некоторый сервер http-файлов. Вы также можете обеспечить проверку версий + кеширование, поэтому клиент может хранить версию файла на сервере и использовать содержимое кэша клиента, если сервер имеет тот же файл и загружает его, когда он был изменен. Это называется HEAD, посмотрите на http://www.tutorialspoint.com/http/http_methods.htm

Вы должны использовать тот же подход, что и сам веб. Каждый браузер загружает контент, html, css, изображения и т. Д. Лучшим улучшением для вас является кеширование на стороне клиента, например. css или изображения хранятся в кеше браузеров и загружаются только в первый тип или когда они были изменены.

И если вы этого не хотите, вы не можете использовать точно подход REST.

+0

Я хочу уточнить, что здесь нет обозревателя. Оба процесса являются внутренними. –

+0

Несомненно, но подход к распределению данных может быть таким же. Я хотел показать принцип аналогичного подхода, включая браузер и сервер. Это тоже самое. –

Смежные вопросы