1

APC を使用して PHP アプリケーションにオブジェクト キャッシュを実装しています。

問題は、さまざまな基準に基づいてデータベースから何かを選択することがあるということです。たとえば、ユーザーが Web サイトにログインするとき、私が持っているのはユーザー名とパスワードだけなので、ユーザー名に基づいてデータベースから選択します。

他の状況では、ユーザー ID を持っていて、それに基づいて選択したいと考えています。

ユーザーを選択するたびに、オブジェクトをキャッシュに追加したいと考えています。

それで、キー「User.user_id.123」と「User.user_name.JoeSmith」で一度そこに入れたとしましょう。

ただし、これは、同じオブジェクトをキャッシュに 2 回入れたことを意味しますよね? それはそれほど効率的ではないようです。

1 つのオブジェクトを複数のキーを使用して APC キャッシュに入れ、後で見つける方法はありますか?

4

2 に答える 2

0

更新:同じオブジェクトを2回キャッシュに入れることを意味します。それは私がやったことです。オブジェクトが削除または更新されたときに、可能なすべてのキーを使用してオブジェクトをキャッシュから空にするように注意する必要があります。

于 2011-09-04T00:52:10.400 に答える
0

のように、ユーザー ID をキャッシュに入れることができますUser.user_name.JoeSmith=123

しかし、これらの値をキャッシュに保存する効率は疑問です。実行時の速度は確かに向上しますが、開発中にいくつかの問題が発生する可能性があります (基本的に同じ値を 2 回、データベースに 1 回、キャッシュに 1 回格納するため)。すぐに頭に浮かぶいくつかのこと:

  • ユーザー値が変更された場合、キャッシュを無効にしますか?
  • オブジェクトは他のオブジェクトを参照していますか? 参照されるオブジェクトが変更されると、キャッシュは無効になりますか?
于 2010-02-01T09:09:59.850 に答える