Web アプリケーション用の API を設計しており、ユーザーが (一意のトークンを使用して) 作成できる要求の数を制限したいと考えています。各リクエストの後に行われたリクエストの数が 1 ずつ増加するように設計するにはどうすればよいですか? また、リクエスト カウンターを更新する前にユーザーが別のリクエストを行う場合などの不整合も回避できますか?
1 に答える
1
これは、最終的に使用することを決定したデータ ストアと、カウンター値のインクリメントの実装方法によって異なります。SQLite はトランザクションなので、ACIDプロパティに従います。アプリケーション ロジックがトランザクションを適切に分離することを確認する必要があります。つまり、データベースからカウンターの現在の値を取得して、いくつかのアクションを実行し、それをインクリメントしてデータ ストアを更新することはできません。データストアが値の増分を直接処理できるようにするのがおそらく最善だと思います。たとえば、SQLite - 値を特定の数だけ増やす
以下はあなたの質問に非常に具体的であり、役立つかもしれません: How To Rate-Limit An API
于 2013-07-20T20:32:42.797 に答える