امدم توی این مقاله بهتون توضیح بدیم که چطوری میشه زیر ۱ دقیقه این فرایند رو مدیریت کرد 😁.
قبل از هرچیزی از نصب بودن Redis و پلاگین php اون مطمئن بشید و بعد بیاید باهم بررسی کنیم که چطوری میشه ازش استفاده کرد.
> روی ابونتو راحت میشه با این ۲تا خط نصبشون کرد
“`bash
sudo apt-get install redis
sudo apt install php{version}-redis
“`
خب استفاده کردن ازشون خیلی ساده هست فقط کافیه اول _.env_ رو تنظیم کنید
> پورت پیشفرض redis روی 6379 تنظیم شده
“`
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
“`
خب **syntax** کلی خیلی ساده است
“`php
\Illuminate\Support\Facades\Redis::throttle(‘uniq key for action’)
->allow(3) // تعداد درخواست های مجاز
->every(60) // توی چه بازهای اون درخواست ها مجاز هستند
->block(2) // بعد از این که تعداد مجاز تموم شد چقدر صبر کنه
->then(function () {
// اگر مجاز بود این قسمت اجرا میشه
return ‘working …’;
}, function () {
// ولی اگر درخواست مجاز نبود میاد توی این قسمت
return ‘wait …’;
});
“`
> تفسیر کد بالا میشه: تعداد مجاز، ۳ درخواست در هر دقیقه هست و زمانی که درخواستهای مجاز تمام شد ۲ثانیه صبرکن و بعدا عملیات مربوط به عملیات غیرمجاز رو انجام بده.
دیدید چقدر ساده بود؟ 😂
> میشه ازش توی *Job* ها هم استفاده کرد.
“`php
allow(3)
->every(60)
->block(0)
->then(function () {
Log::info(‘show :D’);
}, function () {
$this->release(10);
});
}
}
“`
امیدوارم از این آموزش خوشتون آمده باشه 😅
