#caching #search #enterprise-library
#кэширование #Поиск #корпоративная библиотека
Вопрос:
Я использую блок приложений для кэширования корпоративной библиотеки. Специфика наших требований потребовала от меня добавления в кэш динамических ключей, которые зависят от разных параметров. Ключи также имеют префикс, позволяющий легко их группировать. Например:
AccountsStaffMark1234
AccountsStaffPeter0123
AccountsStaffHenry1111
ScienceStaffRuth2222
EnglishStaffSimon3333
Мне нужно иметь возможность искать все записи кэша accountstaff и удалять их, когда будут доступны новые данные.
Я не могу использовать Flush()
ключевое слово, поскольку оно очищает все данные, включая Science
и English
. Кэшированные данные хранятся в кэширующей базе данных, и я могу создавать запросы по шаблону в CacheData
таблице для фильтрации AccountsStaff
. В соответствии с этими строками
- Есть ли способ поиска ключей в среде корпоративной библиотеки?
- Если нет, можно ли расширить библиотеку кэширования для моих требований и как?
Комментарии:
1. Если я должен упростить вопрос, мне нужны
Flush()
подмножества кэшированных данных.
Ответ №1:
Хорошо, нашел один выход. Cache
объект предоставляет хеш-таблицу со всеми хранящимися в ней ключами. Я создам пользовательскую логику вокруг ключей для удаления определенных экземпляров. Итак, в приведенном выше случае выполните поиск всех ключей, начинающихся с AccountsStaff
и явно удалите их.