Redisでアクセス頻度制御モジュールを構築する方法

王林
リリース: 2023-05-26 16:41:35
転載
1547 人が閲覧しました

原理概要:

プログラムはタイムスライスを決定し、タイムスライスが小さいほど制御精度が高くなります。アクセス制御には複数のタイム スライスが含まれます。

プログラムが特定の時刻にアクセス レコードを追加する必要がある場合、プログラムはまず現在時刻に基づいて使用するタイム スライスを計算し、このタイム スライスのカウンタに 1 を加算します。

プログラムは、一定期間内に何回アクセスされたかを判断するとき、まずこの期間に含まれるタイム スライスの数を計算し、次にこれらのタイム スライスをすべて取り出し、カウンターを追加して戻ります。

原理の紹介とプログラム関連のソースコードはこちら(nodejs)

Redisを使ったアクセス頻度制御モジュールの構築方法

使用例(nodejs) :

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

ratelimit=redback.createRateLimit('requests');

//指定された IP のカウントをインクリメントします

ratelimit.add( '127.0.0.1');

//最後の 20 秒間のリクエストの数をカウントします

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

if(requests>30){

//何らかの方法でユーザーを抑制します..

}

});

以上がRedisでアクセス頻度制御モジュールを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート