0

ログイン時に生成する GUID によってユーザー セッションを保存するために redis を使用します。それをセッション オブジェクトのキーとして使用します。

ユーザーのアカウントをロックする場合、現在、すべてのセッションを調べて、それらがユーザーのものかどうかを確認してから削除する必要があります。

ユーザーIDでもクエリを実行する方法はありますか? 標準のキー値だけで保証されたソート済みセットを使用する必要がありますか?

4

1 に答える 1

2

すべてのキーを調べるのは、おそらく最善の方法ではありません。あなたができることは、すべてのユーザーセッションのGUIDを別のキーに保存することです-セットデータ型がそのための最良の選択のようです-ユーザーがセッションを開いたり閉じたりすると、そこから追加/削除されます。したがって、ユーザーが新しいセッションを開くと、次のことが行われます。

SET session:<guid> <session_object>
SADD user_sessions:<user_id> <session_guid>

セッションが閉じられたら、次のことを行います。

DEL session:<guid>
SREM user_sessions:<user_id> <session_guid>

アカウントのロックダウンなどのために、ユーザーのセッション GUID を見つけるには、次のようにします。

SMEMBERS sessions:<user_id>
于 2014-02-07T22:28:37.133 に答える