Я не работал с какими-либо механизмами кэширования и мне было интересно, какие у меня есть варианты в мире .net для следующего сценария.
В основном у нас есть служба REST, в которой пользователь передает идентификатор категории (папка Think), и в этой категории может быть много подкатегорий, и каждая из подкатегорий может иметь 1000 медиа-контейнеров (объектов ссылок на файл Think), которые содержат информацию о файл, который может находиться на сервере NAS или SAN (в данном случае это видео). Связь между этими категориями хранится в базе данных вместе с некоторыми правилами разрешений и метаданными о подкатегориях.
Таким образом, с точки зрения пользовательского интерфейса у нас есть ленивый загруженный элемент управления деревом, который управляется пользователем путем нажатия на каждую подпапку (подумайте о проводнике Windows). Как только они приходят к URL-адресу видеофайла, они могут смотреть видео.
Количество пользователей может вырасти до 1000-х, а подкатегории и видео могут быть в 10000-х по мере роста системы.
Вопрос заключается в том, следует ли нам продолжать работать в настоящее время, когда каждый запрос попадает в базу данных, или нам следует подумать о кэшировании данных?
Мы используем IIS 6/7 и Asp.net.