Кеширование на отдельном сервере с использованием тегов
Добрый день!
Хотел бы сделать кеширование на отдельном сервере. Memcache не подходит т.к. он использует только оперативу, что пока достаточно дороговато. Как вариант memcacheDB, он использует хранение информации в файловой системе и ускоряет операции за счет использования оперативы, также он отлично масштабируется. Вот только у memcacheDB, как и у memcache нет возможности привязки тегов к записям. Иными словами нужна возможность задать кеш вида: set(key,value,array(tag1,tag2,tag3...,tagN)) считать: get(key) очистить по тегу: clear(tag1) Ну и естественно, поскольку кеширование на отдельном сервере, критична скорость работы. Есть какие-то аналоги memcacheDB с возможностью использования тегов? UPD: Пока присматриваюсь к MongoDB, вероятно она мне подойдет. |
mongodb... это скорее альтернатива memcache + реляционная БД (кстати, не работает c openvz, если что). А для memcache можно самому теги реализовать (например, рассказано в этом видео, на 38-ой минуте) или воспользоваться готовыми реализациями (в этой статье, описана реализация Котерова и комментарии можно почитать, в zf что-то должно быть и есть еще memcache-tags)
|
|
Цитата:
|
x-yuri,
спасибо за видео, оно супер, много полезной информации. Если есть возможность, скоординируйте меня. Я на "чистый" ubuntu поставил Berkeley DB, libevent, memcachedb. И теперь ищу по интернету и не могу понять один момент: как ограничить доступ к мемкешу? Получается что любой желающий теперь может обращаться к мемкешу. В мемкеше как я понял никаких ограничений сделать нельзя... видимо нужно ставить еще что-то? |
Цитата:
|
B~Vladi,
он у меня на отдельном сервере, и обращение к нему соответственно идет по ip. Используется только для кеша. |
Цитата:
Можно задать правило в iptables, что бы на ip/порт memcached-а могли обращаться только с нужного ip. |
Цитата:
UPD: дело в том что не очень удобно добавлять ip адреса по мере докупки серверов ... еще пока покопаю идеи ... |
Цитата:
|
извиняюсь за мой английский, но на русском не нашел:
Цитата:
Цитата:
другими словами, они в принципе добавили аутентификацию в memcached, но по возможности этого лучше избегать: либо использовать iptables либо не делать memcache сервер видимым извне. Цитата:
$ add-another-server 127.0.0.1 aye aye, sir... а что, memcache у себя дома на компьютере запускается? Ну есть в принципе такая штука, как динамический dns, но... |
x-yuri,
Спасибо за информацию. Ну сейчас уже все вопросы решил. В локале стоит memcahe под виндовс. На сервере стоит memcachedb. Благо управляются они чрез одну и ту же библиотеку для РНР. Ну а сервер кеша защитил с помощью iptables с блокировкой по портам и ip, вот скрипт если кому-то пригодится: Код:
#!/bin/sh Мемкеш шустренько бегает даже на VPS 256Мб. Только не разобрался еще сколько выделять оперативы на кеш Berkeley DB. Пока стоит значение по умолчанию 64Мб. А в целом очень доволен результатом, спасибо за помощь! |
Часовой пояс GMT +3, время: 05:40. |