Я пишу навигационную структуру категорий. Каждая категория имеет идентификатор, который находится в стороннем поисковом инструменте. При запуске приложения или через различные промежутки времени мне нужно получить кетегологи и их идентификаторы и хранить их в словаре (или каким-либо другим способом), чтобы я мог получить к ним доступ для перезаписи ссылок с id на имя.
Храните словарь в XML файле, используя формат, который выглядит примерно так и читает его, когда вам нужно переписывать
<nodes>
<node id="1">Some Nav Data</node>
</nodes>
У вас есть 2 варианта, напишите отдельный процесс, который будет обновлять файл через определенные промежутки времени, или ваш текущий процесс может обновить файл после установленного интервала.
Если вы считаете, что загрузка и разбор XML переполнены, подумайте о сериализации класса на диск, который содержит простую хеш-таблицу или словарь.
Сколько поселений вы говорите? Зачем вам нужен кеш, а не просто использовать словарь в памяти с фоновым потоком для периодической перезагрузки?
Если вам нужен кеш, вы можете посмотреть кеширующий блок приложений в EntLib. Вы можете установить интервал истечения срока действия, а затем обрабатывать четное по истечении срока годности для повторного заполнения кеша. Но, откровенно говоря, это звучит раздутым по вашим требованиям.
Кэширование - это супер большая тема! Вы можете использовать локальный кеш, если находитесь в веб-проекте. Вы можете использовать HttpContext.Current.Cache, если вы находитесь в среде Windows (хотя вам не нужен кеш в приложении Windows). Если вы используете более одного веб-сервера, вы можете посмотреть на возможности MemCached или MemCached Win32. Если вы не возражаете использовать новые материалы, вы также можете взглянуть на Velocity (что является ответом MS на превосходство MemCache в течение последних нескольких лет на арене кеширования).
Вот несколько сообщений, которые могут вас заинтересовать:
System.Web.Caching и блокирование кэширования корпоративной библиотеки
Запуск веб-сайта Asp.net с сервером MS SQL. Когда мне следует беспокоиться о масштабируемости?