Doctor
имеем код:
$e = $_SERVER["REMOTE_ADDR"];
$m = new Memcache();
if ($m->connect('127.0.0.1', 11211)){
if ($m->get($e)) echo "Bingo! Address {$e} in the cache!<br>";
else {
$m->set($e,"IP",false,15);
echo "Address {$e} added to the cache!<br>";
}
}
ставим срок жизни ключа 15 секунд... но ни через 15 секунд, ни больше условие else не выполняется, т.е. ключ проэкспайрился, но из кэша никуда не делся, я правильно понимаю? или косячу где?..)) если проэкспайрившийся ключ остается в кэше, то как проверять его на предмет этого самого экспайра?..) или какие-то большие таймфреймы надо наблюдать просто?..)
Doctor
S_Flash писал:
Оффтопик: Doctor: А чем обусловлен выбор Memcached, а не более продвинутого Redis, например?
да, первое, что под руку попалось...) для небольшой задачи самое оно имхо..
Mika
S_Flash писал:
Оффтопик: Doctor: А чем обусловлен выбор Memcached, а не более продвинутого Redis, например?
А чем обуславливается выбор в пользу Redis, а не Memcached для целей примитивного кэширования страничек?
Stek
redis и memcached дают фактически одинаковые результаты, ну там 4к запросов в секунду с некоторой погрешностью. У вас там точно такой трафик ?
Redis чуть медленнее, но он может сохранять результат, делать выборки и т.п. Но по сути те же яйца, если просто как базу ключей использовать.
Ailk
в redis удобно хранить сессии и всякие горячие данные, типа счетчиков, списков и прочего. Если следовать ограничению значения в редисе в 100 байт, то он будет в разы быстрее мемкеша.