Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 163142|Ответ: 27

[.NET Core] [Реальные бои] ASP.NET Core основан на распродаже Redis с распределёнными флэш-распродажами

[Скопировать ссылку]
Опубликовано 26.09.2020 15:34:26 | | | |
Ранее написанный распределённый замок на базе zk выглядит следующим образом:

.net/c# Реализация распределённого блокировки Zookeeper [исходный код]
https://www.itsvse.com/thread-4651-1-1.html
Redis реализует принцип распределённой блокировки:

.NET Core реализует распределённый принцип блокировки на основе Redis
https://www.itsvse.com/thread-9391-1-1.html
Принцип реализации распределённых блокировок в Redis заключается в вызове команды SETNX redis, и если ключ уже существует, команда SETNX ничего не делает. Команда возвращает 1 при успешном выполнении настройки и 0 при невыполнении настройки.


Во-первых, наш сайт моделирует 10 000 продуктов, а затем пишет консоль, имитирующий HTTP-запрос, который занимает 40 секунд на покупку, визуализация выглядит следующим образом:



Создайте новый сайт ASP.NET Core 3.1, и пакет redis lock выглядит следующим образом:

Я видел, что многие блокировки освобождения в интернете написаны следующим образом:

Однако кажется, что может возникнуть проблема: в случае параллелизма возможно вернуть true в момент суждения, это действительно блокировка, добавленная самостоятельно, но когда замок удаляется, он может оказаться вВ крайних случаях, блокировка была получена другой потоком, на случай если блокировка другого была удалена.

Поэтому при получении блокировки необходимо открыть поток, чтобы продлить срок действия замка.

Интерфейс WeatherForecastController выглядит следующим образом:


Вы можете запустить сайт API через командную строку, которую легко перезапустить, следующим образом:



Создайте новый макет HTTP-запроса на .NET Core для быстрой покупки, код выглядит следующим образом:


Если что-то не так, спасибо, что исправили.

Наконец, приложите исходный код:

Туристы, если вы хотите увидеть скрытое содержание этого поста, пожалуйстаОтвет





Предыдущий:JS адаптируется к графику карусели размера экрана
Следующий:Это подробное объяснение JavaScript
 Хозяин| Опубликовано 09.05.2021 21:12:58 |
Симуляции веб-сайтов имеют10000 единиц, а затем написал консоль для имитации времени запроса HTTP Аншлаг завершён за 6 секунд


.NET Core реализует распределённые блокировки на базе Redis Lua [с исходным кодом]
https://www.itsvse.com/thread-9642-1-1.html


Опубликовано 05.11.2023 11:02:52 |
Посмотрите на Console.WriteLine($"Rush Successful: {safeInstanceSuccessedCount}, Failed: {safeInstanceFailedCount}, Sold Out: {safeInstanceDoneCount}");
 Хозяин| Опубликовано 27.04.2021 11:17:53 |
Есть некоторые проблемы с кодом, и блокировка задач должна использоваться в ожидании Task.Delay(i);  , не используй сон
Опубликовано 27.09.2020 14:13:33 |
Марк, марк, марк
Опубликовано 05.10.2020 11:12:20 |
Марк Марк Марк
Опубликовано 02.11.2020 15:39:13 |
dfdsfdsfds
Опубликовано 05.11.2020 10:08:13 |
Нужен исходный код, хахаха.
Опубликовано 02.12.2020 15:11:30 |
Спасибо, что поделились.
Опубликовано 07.12.2020 21:10:03 |
[Реальные бои] ASP.NET Core основан на распродаже Redis с распределёнными флэш-распродажами
Опубликовано 09.12.2020 17:17:34 |
Посмотрите сам эффект и исходный код.
Опубликовано 20.01.2021 15:17:50 |
Спасибо, спасибо, спасибо, спасибо
Опубликовано 26.01.2021 16:10:46 |
МАРК МАРК МАРК
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com