Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: MongoDB как инструмент для кеширования
цитата
30/09/15 в 21:18
 Vyacheslav
Кто-то имел опыт использовать монгу как кеш потипу redis, couch.. или memcached? Насколько это целесообразно и тормознутее, например редиса?
Как я понял разница с редисом по реализации только в том, что надо будет руками удалять записи кеша, так как вроде в монге нет записей имеющих время жизни..

Для чего этот велорсипед:
В проекте под базу используется монга, харит ставить отдельное решение под кеш, если уже есть монга, как кей-валюе инструмент. Т.е. при наличии одного кейвалюе хотелось бы реализовать всё на одной софтовой зависимости, чем на нескольких.
цитата
30/09/15 в 22:08
 cKot
из личного опыта не рекомендую, юзай редис.
цитата
30/09/15 в 22:20
 Stek
Под key-value как раз редис используют. Но это если тебе надо иметь сверх быстрый кеш, например сессии, счетчики.
А если просто держать собранную страницу, то имхо хоть где можно.
цитата
30/09/15 в 23:35
 Mika
Vyacheslav писал:
Как я понял разница с редисом по реализации только в том, что надо будет руками удалять записи кеша, так как вроде в монге нет записей имеющих время жизни..

В Монге давно уже есть http://docs.mongodb.org/manual/core/index-ttl/
цитата
01/10/15 в 07:42
 rickdeckard
http://stackoverflow.com/questions/5252577/how-much-faster-is-redis-than-mongodb


> В проекте под базу используется монга
> харит ставить отдельное решение под кеш
если используется именно как БД
то во первых я вам сочуствую
во вторых использовать под кеш не покатит - т.к. при использовании как БД должны быть настройки соотвествующие - запись в файл и логирование и т.п. настройки для надежности. но в таком случае это замедляет монгу и вы получаете производительность такую же как у нормальных субд (postgresql, mysql).

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

и конечно все подрят кешировать нет смысла.
нужно явно выделять области - сессии, счетчики, статистики.

а кешировать например контент - смысла нет - просто загружаете объект из монго или строку таблицы из нормальной БД.
цитата
01/10/15 в 11:15
 Vyacheslav
1. cKot писал:
из личного опыта не рекомендую, юзай редис.

Можешь разъяснить?


2. rickdeckard писал:
если используется именно как БД
то во первых я вам сочуствую

А что с ней не так? Дело в том, что суть той бд - это по сути несколько несвязных таблиц. Думаю это именно тот вариант.


3. rickdeckard писал:
во вторых использовать под кеш не покатит - т.к. при использовании как БД должны быть настройки соотвествующие - запись в файл и логирование и т.п. настройки для надежности.

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

4. До этого использовал файловый кеш, которого хватало с головой! Если вариант с монгой, настроеной под базу, как описал выше rickdeckard будет быстрее или хотябы не медленнее файлового кеша, то вариант приемлем. Тут есть только желание хоть как-то разгрузить или дополнительно не нагрузить дисковую подсистему.
цитата
01/10/15 в 13:31
 cKot
Vyacheslav:
банально, очистить кеш полностью чтоб увидеть все в монге быстро напродакшене не выходит.


Эта страница в полной версии