اگه از یک ای پی آی که روش محدودیت تعداد صدا زدن داره استفاده می کنید مثل ای پی آی بانکی مکانیزم به این صورت هست که باید اول یه توکن بگیرید و تا مدت مثلآ ۱۰ دقیقه این توکن معتبر هست و تمام ای پی آی های بعدی باید با این توکن ارسال بشوند.
اگه هیچ محدودیتی نزاریم توی اپلیکیشنمون اگه دو تا رکوئست هم زمان یا با فاصله زمانی کم وارد سیستم بشن هر دو همزمان اقدام به گرفتن توکن می کنن و اون توکن رو هر جا بنویسیم دومی اولی رو خراب می کنه ویکی از این رکوئست ها به دیوار می خوره . چون توکن دوم توکن اول رو باطل می کنه و درخواستهایی که با توکن باطل شده ارسال بشن به خطای عدم دسترسی می خورن.
برای جلوگیری از چنین رفتاری یه قفل نرم افزاری روی ردیس ست می کنن و این قفل یه عمر مثلآ ۱۰ ثانیه ای می تونه داشته باشه .
در زمانی که قفل وجود نداره اولین رکوئست قفل رو چک می کنه می بینه قفلی وجود نداره قفل رو ایجاد می کنه و وارد فرایند توکن گرفتن میشه .
رکوئست های بعدی که وارد سیستم میشن قفل رو چک می کنن و چند ثانیه صبر می کنن تا قفل آزاد بشه و دوباره قفل رو چک می کنن و همین پروسه رو تا آزاد شدن قفل تکرار می کنن بعد از آزاد شدن قفل توکن رو بر می دارن و استفاده می کنن .
حالا اون رکوئستی که قفل رو ایجاد کرده بانک رو صدا میزنه و توکن رو ازش می گیره .توکن رو بصورت یه کلید روی ردیس میزاره و براش عمر اکسپایر شدن تعیین می کنه.
از همین ماکنیزم برای قفل کردن هر چیزی تو سیستم که درخواست براش زیاد هست و همزمان قابل استفاده نیست می تونید استفاده کنید.
مثلآ قبلآ ثبت نام خودرو چنین مکانیزمی داشت که ۱۰۰ نفر ۱۰۰ نفر وارد پروسه ثبت نام می شدند و ثبت نام تا ۱۰ دقیقه قفل می شد. این پروسه با همین مکانیزم به سادگی قابل پیاده سازی است.