2010-06-02 2 views
3

У меня есть личный класс кэширования, который можно увидеть здесь (на основе от WordPress'):
http://pastie.org/988427Личный кэш против Memcache?

Я недавно узнал о кэше, и это говорит Memcache ВСЁ:
http://highscalability.com/blog/2010/5/17/7-lessons-learned-while-building-reddit-to-270-million-page.html

Моя первая мысль было просто сохранить мой класс с текущими функциями и вместо этого использовать memcache - есть ли недостатки в этом?

Главное отличие, которое я вижу в том, что memcache остается на сервере со страницы на страницу, а мой - для загрузки на одну страницу. Проблема, которую я вижу, возникает, и это с любой системой, заключается в том, что они динамичны. Они меняются все время. Являются ли его результаты поиска, видимые продукты и т. Д. И т. Д. Если все кэшировано, не создаст проблему?

Есть ли способ справиться с этим? Очевидно, что если что-то возвращает те же результаты каждый раз, когда оно будет кэшироваться, но именно поэтому я делаю это на основе загрузки каждой страницы. Я уверен, что есть способ справиться с этим, или время кеша обычно устанавливается от 5 минут до часа?

+1

В больших приложениях большого объема нередко используется стратегия кэширования, такая как та, которую вы уже используете * и * memcache. Кэширование в переменных PHP на время запроса намного быстрее, чем выход в memcache. –

+0

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

ответ

1

Вам, безусловно, нужна хорошая стратегия кэширования, чтобы избежать проблем с устаревшими данными. Используя динамические данные и используя memcached, вам придется удалять записи кэша при определенных обновлениях данных. Вы не можете просто полагаться на записи кэша в тайм-аут. С memcached вы можете кэшировать только части вашего динамического контента для определенного поколения страниц. Если вы хотите кэшировать полные html-документы, я бы рекомендовал использовать обратный прокси, например, лак (http://varnish-cache.org/).

+0

Ключевым моментом здесь является «вам придется удалять записи кэша при определенных обновлениях данных». –

Смежные вопросы