Rumah > pangkalan data > Redis > Bagaimana untuk membina modul kawalan frekuensi capaian dengan Redis

Bagaimana untuk membina modul kawalan frekuensi capaian dengan Redis

王林
Lepaskan: 2023-05-26 16:41:35
ke hadapan
1605 orang telah melayarinya

Gambaran keseluruhan prinsip:

Program ini akan menentukan kepingan masa Semakin kecil kepingan masa, semakin tinggi ketepatan kawalan. Kawalan akses melibatkan beberapa keping masa.

Apabila program memerlukan penambahan rekod akses pada masa tertentu, ia akan terlebih dahulu mengira hirisan masa yang akan digunakan berdasarkan masa semasa dan menambah 1 pada pembilang hirisan masa ini.

Apabila program menentukan berapa kali ia telah diakses dalam satu tempoh masa, ia akan terlebih dahulu mengira berapa banyak hirisan masa dalam tempoh ini, kemudian keluarkan semua kepingan masa ini, tambahkan pembilang dan kembalikan.

Pengenalan prinsip ada di sini, dan kod sumber berkaitan program ada di sini (nodejs)

Cara menggunakan Redis untuk membina modul kawalan frekuensi akses

Contoh penggunaan (nodejs ):

varredback=require('redback').createClient(),

ratelimit=redback.createRateLimit('requests');

//IncrementthecountforthespecifiedIP

ratelimit.add( '127.0.0.1');

//Countthenumberofrequestsinthelast20saat

ratelimit.count('127.0.0.1',20,function(err,requests){

jika(permintaan> ;30){

 //Throttletheuserin someway..

 }

 });

Atas ialah kandungan terperinci Bagaimana untuk membina modul kawalan frekuensi capaian dengan Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Isu terkini
masalah sambungan php redis
daripada 1970-01-01 08:00:00
0
0
0
Mengenai ralat kecil dalam manual redis
daripada 1970-01-01 08:00:00
0
0
0
Adakah mungkin untuk menyepadukan fungsi REDIS?
daripada 1970-01-01 08:00:00
0
0
0
python2.7 - django tidak boleh menyambung ke redis
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan