まず、私の目的は、ユーザーがブラウザを閉じたときに、ユーザーセッションデータが期限切れになることです。問題は、サーバーが正しく機能するためにmemcachedが必要なことです。そのため、ブラウザを閉じたmemcachedからその特定のユーザーセッションを削除したいと思います。残りのユーザーのセッションがまだ存在するように、すべてのmemcachedをクリアしたくありません。
2420 次
1 に答える
2
Memcachedでは、いくつかの回避策を使用する場合を除いて、特定の名前空間内のすべてのキーを一覧表示する方法はありません。本番環境ではお勧めしません。
1つの代替方法は、すべてのユーザー関連のMemcachedキーをセットに保存することです(memcachedにも保存されます)。setキーはユーザーIDを使用して生成されるため、その値を常に事前に把握しており、簡単に取得できます。
ユーザーセッションが終了したら、ユーザーキーのリストを含むアイテムをフェッチして、各キーを削除できます。キーのリストを含むキーの有効期限は、アイテム固有のアイテムよりも長くする必要があることに注意してください。
また、 Redisはデフォルトでキーの反復とセットをサポートしており、Memcachedのように機能するように構成できることにも言及する価値があります。あなたはそれを試してみたいかもしれません。
于 2012-10-18T14:16:37.723 に答える