暂时不考虑 ip
,什么的限制,只考虑 手机号限制,
如何用redis
做到限制,一个手机号,1分钟内最多发一条,一天内最多10条
各位大神有什么好方案,先谢!(崇拜脸)
漂亮男人2017-04-27 09:05:05
2 つのキャッシュが必要
キー名電話が話中のため、1 分間キャッシュされました
キー名電話送信数、1 日間キャッシュ、正常に送信されるごとに +1
送信時の手順は以下の通りです:
「送信が早すぎる」という直接的なエラーがあるかどうかを確認します。
phone-send-count が存在するかどうかを確認します。存在する場合は、それが 10 に等しいかどうかの確認を続けます。存在し、10 に等しい場合は、「テキスト メッセージを送信できません」というエラーが表示されます。今日"
SMSを送信
通話中のため書き込み、1 分間有効
phone-send-count+1、有効日の 23:59:59 のタイムスタンプ - 現在のタイムスタンプを書き込みます
我想大声告诉你2017-04-27 09:05:05
1分以内に最大1つのメッセージを送信できます。分と携帯電話番号をキーとして使用します:min:201701041750:13888888888
一天内最多10条,用日期和手机号号为key:day:20170104:13888888888
伊谢尔伦2017-04-27 09:05:05
次のような疑似コードを作成します:
リーリーこれで、1 分または 1 日の送信制限を構成ファイルに設定できます。これは柔軟で変更可能です。
1月5日に修正;
私の友人 @Lowky が、1 日の制限が 1 日なのか 24 時間なのかという質問を思い出させてくれました。これら 2 つの概念は異なるからです。ここでのポイントは、1日10個までという制限があり、毎日早朝に制限が解除されるということ。このことを毎分考えるのはやめるべきです。コードは次のように変更されます:
リーリーPHP中文网2017-04-27 09:05:05
最初の質問は、Redis に携帯電話番号が存在する限り、1 分経過していないことを意味します。
2 番目の質問は、送信および設定されるたびにカウンターを変更することです。カウンターの有効期限を 1 日にします
ringa_lee2017-04-27 09:05:05
簡単な手順:
鍵は2つ必要です
1 分で期限切れになるキー
24 時間で期限切れになるキー
有効期間に基づくSMS業務に準じて処理され、0時決済ではありません。