ホームページ > データベース > Redis > Redis unordered collectionに基づいて複数端末ログインを禁止する方法

Redis unordered collectionに基づいて複数端末ログインを禁止する方法

リリース: 2020-05-28 09:21:23
転載
2399 人が閲覧しました

Redis unordered collectionに基づいて複数端末ログインを禁止する方法

アプリケーションの背景

複数のアプリケーション名が A および B であるとすると、ユーザーは A と B から同時にログインすることを禁止されます。ログインは B をキックします。および B ログインキック A

実装アイデア

2 つの順序なしセット a_set、b_set

a b ログイン時に、

$redis->sAdd('a_set',$user_id);//A登录
$redis->sRem('b_set',$user_id);//踢B
ログイン後にコピー
$redis->sAdd('b_set',$user_id);//B登录
$redis->sRem('a_set',$user_id);//踢A
ログイン後にコピー

を実行します。API がデータを取得する前に、エンドのIDがオンラインかどうか(AB2 それぞれのエンドのAPIは別)

A判定:

if($redis->sIsmember('a_set',$user_id)){
   //true 
}else{
    //false
}
ログイン後にコピー

B判定

if($redis->sIsmember('b_set',$user_id)){
    //true
}else{
    //false
}
ログイン後にコピー

使用した方法:

sadd key_set value 设置值到set中
sismember key_set value 判断值时候存在key_set里面
srem key_set value 移除指定值
smembers key_set 获取所有的value
ログイン後にコピー

Redis の詳細については、redis 入門チュートリアル 列に注目してください。

以上がRedis unordered collectionに基づいて複数端末ログインを禁止する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.im
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート