Есть ли необходимость в кэшировании ASP.NET для Memcached и Squid? - PullRequest
0 голосов
/ 08 ноября 2008

С помощью squid мы можем кэшировать веб-страницы. Я не уверен, что он обеспечивает такое же количество методов кэширования, как и кэширование ASP.NET (я в основном использую ASP.NET), но это инструмент для кэширования веб-страниц.

Затем мы имеем memcached, который может кэшировать таблицы базы данных. Я считаю, что это правильно, и это похоже на SqlCacheDependency (поправьте меня, если я ошибаюсь).

Однако существует ли ситуация в большом веб-приложении, в котором можно найти место для кэширования memcached, squid и ASP.NET (или PHP, JSP - на уровне платформы приложения).

Спасибо!

Ответы [ 2 ]

2 голосов
/ 01 мая 2009

Затем мы имеем memcached, который может кэшировать таблицы базы данных. Я считаю, что это правильно и похоже на SqlCacheDependency (поправьте меня, если я ошибаюсь).

Memcached - это распределенная хеш-таблица. Основное преимущество по сравнению со встроенным кешированием .NET заключается в том, что ваш кеш является масштабируемым (вы можете добавлять столько кэшей memcached, сколько вы хотите) и синхронизировать (все ваши веб-серверы имеют доступ к одному и тому же материалу, а также делать недействительными или обновлять данные из одного веба). сервер мгновенно распространяется на все из них)

С точки зрения производительности, он хуже, чем кеш .NET (вы просматриваете объекты на разных серверах, в отличие от поиска в памяти на одной машине)

Однако существует ли ситуация в большом веб-приложении, где можно найти место для кэширования memcached, squid и ASP.NET (или PHP, JSP - на уровне платформы приложения).

По вышеуказанным причинам я могу представить двухуровневый кеш, сначала используя кеш .NET, а затем memcached. (например, Get () просматривает memcached, сохраняет результат в кеше .NET, срок действия которого истекает через 10 секунд, затем использует кэш .NET для всех вызовов get с тем же ключом кеша в течение следующих 10 секунд, промывает, повторяет )

Таким образом, вы получаете производительность поиска в кэш-памяти в памяти без затрат на сетевой ввод-вывод для чистого решения memcached с преимуществами memcached для синхронизации и масштабируемости.

2 голосов
/ 08 ноября 2008

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

Скажем, например, у вас было приложение, которое отображало имя вошедшего в систему пользователя на каждой странице. Кэширование целых страниц на самом деле не сработает, поэтому вам нужно сбросить уровень и кэшировать где-нибудь в рамках приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...