0

Yii PHP フレームワークを使用してフォーラム Web サイトを構築しています。また、セッションのメンテナンスと一部のデータ オブジェクトの保存に Memcached を使用しています。

ユーザーリクエストごとに、何かを確認するためにユーザー情報を取得する必要があります(彼が特定のグループのメンバーであるかどうか、およびその他のチェックを確認するため)

だから私が計画しているのは2つのアプローチです

1)ユーザーID以外のものをセッションに保存しないでください。ユーザーセッションが確立された後、memcachedからオブジェクトを取得してチェックします-ここでは、1つのユーザーオブジェクトとmemcachedサーバーへの2つの呼び出し(1つはセッション呼び出しで、もう1つはユーザーを取得するためのものです物体)

2) setStateメソッドを使用して、必要なすべてのユーザー情報をセッションに保存します。ログインに成功すると、ユーザーはセッション オブジェクトから情報を取得してチェックします。ここには 2 つのユーザー オブジェクトがあり、1 つは memcached に、もう 1 つはユーザー セッションにあります (もちろん、これも memcached に保存されます)。しかし、1回の呼び出しでセッションが確立されると、必要なユーザーの詳細がすべて取得されるように感じます(本当にそうですか?)

何が最善のアプローチかわかりません。ご協力いただきありがとうございます。

4

1 に答える 1

1

パフォーマンスの観点からは、セッションをmemacedにも保存するため、違いはありません(少なくともあなたが言ったことです)。したがって、この種の情報にはセッションを使用するのが最も論理的です。そうしないと、ユーザーごとに一意のキャッシュキーを作成して保存する必要があります。これは、セッションが既に行っていることを再発明するようなものです。

于 2013-10-22T08:40:18.883 に答える