Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 1|Відповідь: 0

[Зв'язок] Реалізувати вихідний код на основі розподіленого блокування SET NX у Redis

[Копіювати посилання]
Опубліковано11 секунд тому | | | |
Вимоги: У розподілених мікросервісних системах розподілені блокування часто використовуються для транзакцій, зміни стану та інших операцій.

огляд
[Реальний бій] ASP.NET Core базується на розподіленому розпродажі замків Redis
https://www.itsvse.com/thread-9397-1-1.html

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

Документація команд Redis SET:Вхід за гіперпосиланням видно.

Атомне блокування:ВСТАНОВИТИ значення ключа EX секунди NX, NX -- Встановіть лише якщо ключ не існує.

По-перше, посилання на предметStackExchange.Redisпакет для підключення до бази кешу Redis.

Для беззамкової та заблокованої паралелі виконуйте на змінній i1000 самоінкрементальних операційРезультат такий:



У випадку без блокування результат паралельного самозростання є неправильним, а результат паралельного самозростання (фактично, однопотокового самозростання) після використання redis locks є правильним.

Вихідний код виглядає так:




Попередній:HSBC подає заявку на заміну дебетової картки Red Lion Card (UnionPay)
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com