應用背景
多個應用端假設名稱叫做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
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END