Я не працював із жодними механізмами кешування, і мені було цікаво, які мої варіанти є у світі .net для наступного сценарію.
У нас в основному є служба REST, де користувач передає ідентифікатор категорії (папка продумань), і ця категорія може мати безліч підкатегорій, і кожна з підкатегорій може мати 1000 контейнерів медіа (посилання на об'єкти продуктивних файлів), які містять інформацію про файл, який може бути на сервері NAS або SAN (файли - це відео у цьому випадку). Зв'язок між цими категоріями зберігається в базі даних разом з деякими правилами дозволу та метаданими про підкатегорії.
Таким чином, з точки зору інтерфейсу користувача, ми маємо лінивий елемент управління деревом, який керується користувачем, клацаючи на кожній підпапці (подумайте про Windows Explorer). Після того, як вони знайдуть URL-адресу відеофайлу, вони зможуть переглянути відео.
Кількість користувачів може вирости до 1000-х, а підкатегорії та відеоролики можуть бути в 10000-х, коли система зростає.
Питання полягає в тому, чи слід продовжувати роботу в даний момент, коли кожен запит потрапляє в базу даних чи ми повинні думати про кешування даних?
Ми використовуємо IIS 6/7 та Asp.net.