RESTful API 中心の Web アプリケーションを作成しています。ユーザーがログインすると、セッションが期限切れになるまでデータにアクセスするために使用されるセッション ID とログイン キーを受け取ります。セッションがメモリに保存されている場合、Web アプリケーション (および場合によってはモバイル アプリケーション) は、ページが読み込まれるたびに API を呼び出してユーザー情報を取得します。この API 呼び出しをできる限り最適化することに取り組んでいますが、この情報をキャッシュすることに意味があるのだろうかと考えています。
ユーザー データを含むすべてのテーブルには、更新されたタイムスタンプが含まれています (Postgres の更新ごとにトリガーされます)。したがって、オプションのcache_timestamp
パラメーターを受け入れるように API を変更できます。API はまず、そのタイムスタンプ以降に変更されたユーザー データのテーブルがあるかどうかを確認します。存在する場合は、更新されたユーザー データが返されます。そうでない場合、304 not modified が返され、アプリケーションはキャッシュを使用します。
私の質問は、機密性が高すぎてメモリに保存できない情報はどれですか (PHP セッションを使用)。現在、情報には、プロファイル (名前、会社など)、連絡先 (電子メール、電話)、設定 (ニュースレター、通知)、支払い情報 (プラン、試用、Stripe を参照する顧客 ID) などの情報が含まれています。
エッジにあると思うのは支払い情報だけですが、API キーが侵害されない限り、Stripe からのデータにアクセスできないはずです。