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

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

尚
転載
2020-05-28 09:21:232320ブラウズ

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 までご連絡ください。