Лучше всего преобразовать кэширование в интерфейс , реализовать интерфейс несколькими способами и протестировать различные реализации.
Как и во многих случаях, это вопрос просмотра данных и того, насколько они распределяются между разными пользователями.
Кэш ASP.NET не обязательно будет быстрее или проще. Это зависит от того, сколько вы кешируете и есть ли у веб-серверов ресурсы для его обработки. В большинстве приложений разумного размера ответом на этот вопрос часто является №
Основным недостатком отсутствия синхронизации между серверами кэширования является то, что в среде с балансировкой нагрузки последующие запросы на одни и те же данные могут отправляться на разные серверы. Это будет означать, что иногда в базу данных попадают дважды. Одним из способов смягчения этой проблемы является реализация «липких» сеансов, когда данный пользователь всегда отправляется на один и тот же сервер, а балансировщик нагрузки принимает решение о балансировке только в начале сеанса пользователя.