Кэширование данных ASP.NET и как сделать недействительными - PullRequest
1 голос
/ 18 марта 2011

Мое веб-приложение использует объект кэша asp.net для хранения данных из базы данных.Я ищу элегантный, чтобы лишить законной силы объекты кеша, но еще ничего не придумал.

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

Я пробовал SqlDependency и не доволен им, так как столкнулся с множеством проблем.У вас есть идеи, как решить эту проблему?Заранее спасибо!

1 Ответ

1 голос
/ 18 марта 2011

создать статический Dictionary<string, List<string>>

ключ будет использовать схему именования, например table_primarykey, которая представляет отдельную запись

значение представляет собой список имен ключей кеша, в которые кешируется запись

это позволит вам эффективно находить, какие записи куда кэшируются, позволяя вам управлять словарем при добавлении и удалении элементов (использовать обратный вызов) из кэша.

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