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