Какой максимум я могу позволить себе кэшировать? - PullRequest
0 голосов
/ 26 марта 2011

У меня есть некоторые проблемы с дизайном. Допустим, у вас есть приложение, которое сохраняет данные в своем кэше во время выполнения. Как вы думаете, это максимальный объем данных (в мегабайтах), который приложение должно кэшировать, прежде чем оно будет использовать БД.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 26 марта 2011

Сколько у вас памяти?Сколько вы можете позволить себе потерять при сбое приложения или системы?Как долго вы можете позволить себе время запуска после перезагрузки и перезагрузки этих кешей?Как правило, даже с кэшами вам необходимо каким-либо образом (или во что-то) записывать данные в БД для сохранения данных.

И если в конечном итоге у вас «слишком много данных», чтобы поместиться в память, то выПейджинг рабочих наборов из БД в память.У вас также возникают проблемы с синхронизацией кэша, если кто-то меняет БД за вашей спиной.

Все виды забавных проблем.

Но, если у вас есть память, продолжайте и используйте ее.*

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

Есть разумный шанс, что SQLServer лучше в этом, чем вы, и что вы не должны кэшировать примерно ничего.

Однако, как говорит Уилл, если вы готовы платить за потерянные данные насбой, вы можете увеличить отзывчивость, не сохраняя до позже.Все, что вы можете сделать «бесплатно», в смысле отказа от гарантий, которые вы получите, немедленно записав это в БД, БД в принципе может сделать для себя.SQL Server довольно агрессивно использует почти всю доступную свободную память (и довольно вежливо сокращает использование памяти, когда другим приложениям требуется ОЗУ).Поэтому любую память, которую вы используете для кеширования, вы забираете из кешей SQL Server.

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