Redis無秩序集合に基づくマルチエンドログイン禁止
Redis無秩序集合に基づくマルチエンドログイン禁止
適用背景
複数のアプリケーション側は名前をAとBと仮定し,ユーザがA Bから同時にログインすることを禁止し,Aログイン蹴B,Bログイン蹴A
実現構想.無秩序な2つのセットa_を設定するset, b_set a bログイン時に を実行する. apiデータを取得する前に、そのエンドのidがオンラインであるか否か(ABの両方のエンドのapiが別々である) を判断する. A判断 B判定
使用方法 sadd key_set value設定値set sismember key_set value判定値が存在する場合key_set奥 srem key_set value指定値 を除去する smembers key_setすべてのvalue を取得
適用背景
複数のアプリケーション側は名前をAとBと仮定し,ユーザがA Bから同時にログインすることを禁止し,Aログイン蹴B,Bログイン蹴A
実現構想.
$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
if($redis->sIsmember('a_set',$user_id)){
//true
}else{
//false
}
if($redis->sIsmember('b_set',$user_id)){
//true
}else{
//false
}
使用方法