| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > memcache |
| Автор: Muerto 28.2.2011, 23:10 |
| Смотрел я на функции memcache ... и вот думаю... Как бы мне грамотно проверять если пора обновлять кэш или нет? Я могу например stdClass закешировать stdClass->timestamp и stdClass->Data Но выходит что каждый раз я буду получать все данные целиком, что мне не совсем нравиться... Когда я проверяю filemtime я могу его и вовсе не загружать если он устарел а сразу генерировать новые данные.... А как здесь быть не решил как лучше, может мудрый совет у кого будет... |
| Автор: Shogun 1.3.2011, 02:42 | ||
Muerto, Вы можете например ставить лимит на хранения данных в memcache, тогда и получится аналог filemtime.
А ваше странно что Вы хотите использовать memcache вместо filecache, обычно он нужен уже при нагруженных проектах, тогда и поймете его преимущество перед файловым кэшем. Копайте гугл с Memcached vs File cache ... Еще http://docs.php.net/manual/ru/book.memcached.php |
| Автор: Muerto 1.3.2011, 08:40 |
| Shogun, Я сделал по другой системе stdClass $ob=new stdClass(); $ob->time=time(); $ob->data=$data; И если нужно время то просто получаю... А то если экспайер ставить, то может быть что в кеше вообще нифига не будет И вот сравнивал производительность своих классов http://forum.vingrad.ru/forum/topic-323707.html memcache не удевил к лучшему |
| Автор: solenko 1.3.2011, 10:05 | ||
А что с того, чот там есть неактуальные данные? Только забивать место |
| Автор: Muerto 1.3.2011, 13:27 |
| solenko, У меня просто много разных систем кеширования... http://forum.vingrad.ru/forum/topic-323707/anchor-entry2307591/0.html мне нужно что бы они работали одинаково... Не у всех есть мемкэш, поэтому мои классы имеют одни и те же методы, что бы я моментально мог переключать |
| Автор: Shogun 1.3.2011, 13:37 | ||
Factory + Adapter ?? |
| Автор: solenko 1.3.2011, 14:30 | ||
Да, они имеют одинаковый интерфейс (грубо set/get/delete/exists), но то, что при кешировании в файлах приходится отслеживать expire самому, не повод для того, чтобы не делать это штатными средствами в memcache. |
| Автор: Muerto 1.3.2011, 19:21 |
| solenko, В моем интерфейсе есть метод public boolean isUpToDate(String key, int timeInSeconds) и хотелось бы реализовать... |
| Автор: solenko 1.3.2011, 19:43 |
| int timeInSeconds -- непонятно значение параметра а реальный isUpToDate -- alias для exists |
| Автор: Muerto 1.3.2011, 21:58 |
| solenko, а я не замечал в memcache такое, есть replace, set & get |