應用程式背景
多個應用程式端假設名稱叫做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中文網其他相關文章!