アプリケーションの背景
複数のアプリケーション名が 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 サイトの他の関連記事を参照してください。