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

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

發布: 2020-05-28 09:21:23
轉載
2372 人瀏覽過

基於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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板