Я никогда не использовал memcache, но изо всех сил пытаюсь увидеть преимущества, когда использую кеширование Smarty. Причина, по которой я спрашиваю, заключается в том, что он сохраняет данные, чтобы уменьшить нагрузку на базу данных. Ну, я не выполняю запросы, которые мне не нужны, потому что мои страницы кэшируются с помощью Smarty. Конечно, YouTube и другие перечисленные крупные сайты, использующие Memcache
не используйте Smarty, но мне не хватает чего-то, что он делает, или мне просто не нужно беспокоиться об использовании?
Если вы говорите о шаблонах, Smarty caching хранит файлы на диске, а это означает, что они не всегда могут быть активными в памяти. memcache, с другой стороны, хранит вещи в активной памяти и обладает высокой масштабируемостью. То есть я мог добавлять и удалять сотни клиентов memcache, работающих локально, в облаке или и то, и другое, на лету. Это действительно потрясающая архитектура.
Однако прелесть memcached в том, что он позволяет вам хранить вещи по своему желанию - поэтому, хотя шаблонизатор Smarty может взять страницу и сохранить все в памяти, вы можете иметь memcached ТОЛЬКО хранить то, что вы хотите кэшировать. То есть огромный запрос, который выбирает последние сообщения или что-то в этом роде. Более того, вы можете использовать общий ключ, который могут настраивать несвязанные службы. Например, каждый раз, когда вы добавляете новый пост, вы можете попросить memcached удалить ключ для этого SQL-запроса на первой странице и перестроить его.
Но если вы не видите проблем с загрузкой, я бы не стал беспокоиться. memcached великолепен, но вам не нужно работать на полную катушку на сайте, у которого нет проблем с загрузкой.
Андрей
РЕДАКТИРОВАТЬ: вы также можете проверить код, который хранит кэшированные файлы Smarty в memcached.