Что использовать вместо memcache - PullRequest
4 голосов
/ 21 сентября 2010

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

Итак, что я спрашиваю, это: что я должен использовать вместо memcache для такого рода вещей?Он должен быть быстрым и предпочтительно хранить его данные в памяти.Я думаю, что какой-то продукт noSQL подойдет, но я не знаю, какой именно.Я хотел бы использовать что-то, что я мог бы использовать для других случаев использования в будущем, аналитика приходит на ум (например, что пользователи ищут больше всего).

Я использую PHP, поэтому он должен иметьхорошие привязки для этого.

Ответы [ 2 ]

6 голосов
/ 21 сентября 2010

Redis !Это как memcache на стероидах (хороший вид). Здесь - это некоторые драйверы .

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

1 голос
/ 27 сентября 2010

Вы можете попробовать memcachedb. Он использует тот же протокол, что и memcache, но это постоянное хранилище.

Вы также можете попробовать кассандру или редис

...