Затем мы имеем memcached, который может кэшировать таблицы базы данных. Я считаю, что это правильно и похоже на SqlCacheDependency (поправьте меня, если я ошибаюсь).
Memcached - это распределенная хеш-таблица. Основное преимущество по сравнению со встроенным кешированием .NET заключается в том, что ваш кеш является масштабируемым (вы можете добавлять столько кэшей memcached, сколько вы хотите) и синхронизировать (все ваши веб-серверы имеют доступ к одному и тому же материалу, а также делать недействительными или обновлять данные из одного веба). сервер мгновенно распространяется на все из них)
С точки зрения производительности, он хуже, чем кеш .NET (вы просматриваете объекты на разных серверах, в отличие от поиска в памяти на одной машине)
Однако существует ли ситуация в большом веб-приложении, где можно найти место для кэширования memcached, squid и ASP.NET (или PHP, JSP - на уровне платформы приложения).
По вышеуказанным причинам я могу представить двухуровневый кеш, сначала используя кеш .NET, а затем memcached. (например, Get () просматривает memcached, сохраняет результат в кеше .NET, срок действия которого истекает через 10 секунд, затем использует кэш .NET для всех вызовов get с тем же ключом кеша в течение следующих 10 секунд, промывает, повторяет )
Таким образом, вы получаете производительность поиска в кэш-памяти в памяти без затрат на сетевой ввод-вывод для чистого решения memcached с преимуществами memcached для синхронизации и масштабируемости.