2016-08-19 11 views
0

ユーザーが複数のセッション(JWTトークン)を持つことができると仮定します。 hashetトークンを格納するのがベストでしょうか?そのキーはuserIdですか?Redisで複数のセッションをユーザーに保存する方法は?

例えばkey: 1 -> hashet: "token1", "token2", "token3", "token4", "moretokens..."

その後、トークンが有効であれば、私はそれをHashSetの、ループを取得し、トークンと一致してみたいチェックするには?

ハチートを使用すると、現在のセッションをユーザーに表示できるようになります。

答えて

0

SETを使用すると、ユーザーIDをキーとし、固有の要素を含むSET(値)にトークンリストを格納できます。あなたはを通してそれらすべてとループを取得するために必要とせず、ユーザーIDの下でユーザートークンのすべてを保存し、それらを直接HGETを使用するためにチェックすることができるよう

// insert single token 
sadd userId token1 

// insert multiple tokens 
sadd userId token2 token3 

// insert an existing token will fail 
sadd userId token1 

// check if a token is valid 
sismember userId token1 

// get all tokens of a user 
smembers userId 
+0

この解決方法では、セッションの有効期間は考慮されません。どのようにredisのマルチセッションの生涯を処理するには? – Joshua

0

ハッシュは、値を格納するための最も効率的な方法だろうそれら。

関連する問題