0

ホームページをキャッシュする必要があります。これまでのところ、問題はありません。リバース プロキシを使用するだけで十分です。

ただし、ユーザーが接続されているかどうかを確認し、「こんにちは Vincent」という情報を表示できるように、スタンドアロン (ESI) のヘッダー部分も含める必要があります。

問題は、そうすると、ホームページ (すべてのページと同様) でセッションをテストする必要があり、PDO ストレージを使用しているため、MySQL ですべてのユーザー/ページに対して 2 つのクエリが実行されていることがわかります。

そのため、単純な「is_connected」Cookie を追加して、その不在をチェックして、セッションを要求せずにログアウト バージョンをレンダリングしようとしましたが、匿名ユーザーを許可するファイアウォールがある限り、セッションを要求するようです。

私は考えが尽きかけています。人々がこれのために何をしているのか見たいのですが、目標はホームページでまったくクエリを実行しないことです。

ありがとう

4

1 に答える 1

0

ホームページは、セッションをテストする必要はありません。パブリックにキャッシュされ、esi include タグが含まれている必要があります。

<esi:include src="/home/header_fragment.html" />

ユーザーのセッションのログインをテストする必要があるのは、header_fragment リソースだけです。ログインしているユーザーの情報 (名前、電子メールなど) の小さなキャッシュを署名付き Cookie に保存し、それを header_fragment で読み取って、ログインしたかログアウトしたかを判断できます。ログインしている場合は、データ ストア内の情報。

于 2013-07-17T16:00:43.580 に答える