Способ хранения часто меняющихся значений в памяти - PullRequest
2 голосов
/ 24 января 2012

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

Я хочу использовать Sphinx или Lucene в качестве сервера полнотекстового поиска по значениям, но я не знаю, как «удерживать» эти изменяющиеся значения в течение 15 секунд.

Вопрос: Должен ли я хранить значения в MongoDB, MySQL, XML, плоских файлах или есть способ сохранить их непосредственно как объекты в памяти и при этом иметь возможность манипулировать ими и обновлять их значения?

Спасибо.

Ответы [ 2 ]

5 голосов
/ 24 января 2012

Предлагаю вам посмотреть на Redis:

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

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

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

http://redis.io/topics/introduction

0 голосов
/ 26 января 2012

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

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

...