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

Bagaimana untuk membina modul kawalan frekuensi capaian dengan Redis

王林
王林ke hadapan
2023-05-26 16:41:351566semak imbas

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam