首頁 >資料庫 >Redis >基於Redis無序集合實作禁止多端登入的方法

基於Redis無序集合實作禁止多端登入的方法

尚
轉載
2020-05-28 09:21:232357瀏覽

基於Redis無序集合實作禁止多端登入的方法

應用程式背景

多個應用程式端假設名稱叫做A和B,禁止使用者從A B同時登入,A登入踢B,B登入踢A

實作想法

設定兩個無序集合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是否線上(AB兩個端的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無序集合實作禁止多端登入的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.im。如有侵權,請聯絡admin@php.cn刪除