#asp.net #caching #.net-4.0
#asp.net #кэширование #.net-4.0
Вопрос:
У меня есть то, что я считаю довольно простым приложением. Служба возвращает некоторые данные на основе другого фрагмента данных. Простой пример, учитывая имя состояния, служба возвращает столичный город.
Все данные хранятся в базе данных SQL Server 2008. Большая часть этих «статических» данных будет редко меняться. Иногда его нужно будет обновлять, и когда это произойдет, у меня не возникнет проблем с перезапуском приложения для обновления кэша, если оно реализовано.
Некоторые данные, которые являются более «динамическими», будут храниться в той же базе данных. Эти данные включают контакты, статистику и т. Д. И Будут меняться чаще (от ежечасно до ежедневно или еженедельно). Эти данные будут связаны со статическими данными выше с помощью внешних ключей (точно так же, как соединение SQL).
Мой вопрос в том, что именно я пытаюсь здесь реализовать? и как мне начать это делать? Я знаю, что статические данные будут кэшироваться, но я не знаю, с чего начать. Я пытался искать, но нашел так много вещей, и я не уверен, с чего начать. Рекомендации по учебным пособиям также будут оценены.
Ответ №1:
Вам не нужно ничего кэшировать, пока у вас не возникнут проблемы с производительностью. Пока у вас не возникнет заметной проблемы и вы не измерите уровни своих приложений, чтобы определить, что ваша база данных на самом деле является узким местом, что редко бывает, начните изучать данные кэширования. Это всегда компромисс: доступность данных в реальном времени, память, процессор. Нет причин усложнять ваше приложение больше, чем нужно, только потому, что.
Ответ №2:
Чрезвычайно простой «выигрыш» здесь (я предполагаю, что вы используете WCF здесь) будет заключаться в использовании декларативного механизма кэширования на основе атрибутов, встроенного в фреймворк. Ее легко настроить и управлять, но вам нужно проанализировать свои сценарии использования, чтобы убедиться, что она применяется в нужных местах, чтобы действительно извлечь из нее выгоду. Эта статья является хорошей отправной точкой.
Помимо этого, я бы рекомендовал заглянуть в одну из многих книг по WCF, в которых рассматриваются концепции более высокого уровня, такие как кэширование, и попытаться выяснить, применимы ли их шаблоны реализации к вашему дизайну.