私は、すべてのHTTPリクエストで実行されているこのコードを持っている:キャッシュAPIユーザーの資格情報
if ($request->header('Authorization')) {
$token = $request->header('Authorization');
$user = User::where('api_token', $token)->whereRaw("`api_token_expires` >= CURDATE()")->active()->first();
if ($user) {
$GLOBALS['user_id'] = $user->id;
$GLOBALS['is_admin'] = $user->admin;
return $next($request);
}
}
あなたが見ることができるように、私は有効なAPIトークンを探しているすべての要求のためのデータベースを打っています。
これを処理する方法はより効率的ですが安全なベストプラクティスですか? MySQLのキャッシュを調べるべきですか?レディスか他の何か?
EDIT:私はセッションを使用していませんが、これはステートレスAPIです。
できるだけ早くアクセスするためにredisを使用することをお勧めします。すべてを休むことは大丈夫です。トラフィックが少ない場合に受信するヒット数に依存します。mysqlは大丈夫です – Bugfixer