JWT認証を使用すると、ユーザーは私のアプリを使用するたびにログインする必要がありません。
ユーザーが最後にアプリを使用/開いたときにDBに保存したいと思います。
技術的には、REST APIのセットがあり、各リクエストを監査して、現在のユーザーアクセスに対応するタイムスタンプをデータベースに保存できますが...リクエストごとに?!
ユーザーがリクエストを行うたびにデータベースを使用せずにこの情報を保存するための良い方法は何ですか?
しきい値を設定できます。
たとえば、誰かが午後14:00に訪問したことを保存し、その時点と現在の時刻の差が30分を超えているかどうかを監査できるため、1時間あたり最大2回の更新があります。
ステートフルサービスがある場合、別のアプローチは、各リクエストの時間をメモリ(デフォルトのセッションドライバー、Redis、Memcacheなど)に保存することです。
こうすることで、ユーザーがアプリを離れたときを検出し、最後に1回だけ保存することができます。
更新:
別の方法は、たとえばJWTを使用する場合、APIトークンを使用してリクエストタイムスタンプを提供することです。そうでない場合でも、Cookieを送信するか、ユーザーのlocalStorageに保存することができます。次に、リクエストごとに最終アクセス時刻が送信され、データベースに触れることなく最初の提案を利用できます。
各メソッドがエントリの結果にアクセスするキューの使用を検討し、
キューをデータベースにフラッシュします。