Сначала немного контекста:
В настоящее время мы используем ASP.NET Core MemoryCache MemoryCache Doc
В интерфейсе IMemoryCache есть метод GetOrCreateAsync(...), которому я могу передать фабрическую функцию Func Factory
Поскольку это сигнатура асинхронного метода, мне приходится полностью реализовать async await (иногда стек вызовов примерно из 8 методов), даже если само попадание в кеш является синхронным. В моем сценарии я обращаюсь к кешу примерно 200-2500 раз за запрос. Некоторые записи мне приходится обновлять каждые 60 минут, некоторые просто каждый день.
Теперь вопрос:
На данный момент я понимаю, что .NET Core должен создавать конечный автомат для каждого вызова, хотя я просто обращаюсь к кешу синхронно из-за сигнатуры его метода. Кто-нибудь из вас знает, насколько велики накладные расходы? Имеет ли смысл создать синхронную фабрику (это вызов Web-API) с небольшой блокировкой, чтобы я мог использовать GetOrCreate(...)? Или, может быть, у некоторых из вас есть совершенно иное мнение.
Надеюсь, вы поняли мою больную точку.
Подробнее здесь: https://stackoverflow.com/questions/509 ... -and-await
ASP.NET Core MemoryCache GetOrCreateAsync накладные расходы на асинхронность и ожидание ⇐ C#
Место общения программистов C#
1764047835
Anonymous
Сначала немного контекста:
В настоящее время мы используем ASP.NET Core MemoryCache MemoryCache Doc
В интерфейсе IMemoryCache есть метод GetOrCreateAsync(...), которому я могу передать фабрическую функцию Func Factory
Поскольку это сигнатура асинхронного метода, мне приходится полностью реализовать async await (иногда стек вызовов примерно из 8 методов), даже если само попадание в кеш является синхронным. В моем сценарии я обращаюсь к кешу примерно 200-2500 раз за запрос. Некоторые записи мне приходится обновлять каждые 60 минут, некоторые просто каждый день.
Теперь вопрос:
На данный момент я понимаю, что .NET Core должен создавать конечный автомат для каждого вызова, хотя я просто обращаюсь к кешу синхронно из-за сигнатуры его метода. Кто-нибудь из вас знает, насколько велики накладные расходы? Имеет ли смысл создать синхронную фабрику (это вызов Web-API) с небольшой блокировкой, чтобы я мог использовать GetOrCreate(...)? Или, может быть, у некоторых из вас есть совершенно иное мнение.
Надеюсь, вы поняли мою больную точку.
Подробнее здесь: [url]https://stackoverflow.com/questions/50910787/asp-net-core-memorycache-getorcreateasync-overhead-of-async-and-await[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия