Start Debugging

Тег: performance

62 статей · Страница3из7

HybridCache против IMemoryCache против IDistributedCache в .NET 11: что выбрать?
Для нового кода кеширования в .NET 11 по умолчанию используйте HybridCache. Берите IMemoryCache, только если нужна скорость на одном сервере без сериализации, а IDistributedCache, только как хранилище-бэкенд. Вот матрица принятия решений.
Как использовать HybridCache в ASP.NET Core 11 с Redis в качестве кеша L2
Подключите HybridCache к Redis-кешу L2 в ASP.NET Core 11: зарегистрируйте сервис, добавьте распределённый кеш StackExchange Redis и позвольте GetOrCreateAsync дать вам двухуровневый кеш со встроенной защитой от лавины и инвалидацией по тегам.
EF Core ExecuteUpdate против загрузки сущностей и SaveChanges: что выбрать?
Руководство по выбору и реальный benchmark для EF Core 11: используйте ExecuteUpdate для множественных записей по предикату, а путь загрузить-затем-SaveChanges только тогда, когда нужен отслеживатель изменений, перехватчики или сложный граф объектов.
Как использовать разделение запросов, чтобы избежать декартова взрыва в EF Core 11
Когда вы делаете Include двух одноуровневых коллекций, EF Core 11 возвращает декартово произведение, и число строк взрывается. Вот как это исправляет AsSplitQuery, как включить его глобально и какие тонкости согласованности и упорядочивания нужно учитывать.
Как использовать ExecuteUpdate и ExecuteDelete для массовых записей в EF Core 11
Полное руководство по ExecuteUpdate и ExecuteDelete в EF Core 11: какой SQL они генерируют, ловушка трекера изменений, которая молча перезаписывает вашу массовую запись, транзакции, контроль конкурентного доступа через число затронутых строк и сеттеры через делегат из EF Core 10, позволяющие собирать условные обновления обычными инструкциями if.
List<T> vs Span<T> vs ReadOnlySpan<T> в C#: когда что выбирать
List<T> -- это растущая коллекция в куче; Span<T> и ReadOnlySpan<T> -- представления только на стеке поверх памяти, которой вы уже владеете. Используйте List<T> для всего, что вы храните, возвращаете из async или наращиваете; Span<T> для изменяемого представления без аллокаций в синхронном методе; ReadOnlySpan<T> для разбора только для чтения поверх строк, литералов u8 и срезов.
Назад Вперёд