前言
一個集合類型可以存儲最多2^32 -1 個字符串
集合類型在redis內(nèi)部使用值為空的散列表(hash table)實現(xiàn),所以集合中的加入或刪除元素等時間復雜度為O(1)。
集合具有元素唯一性。
本文主要給大家介紹了基于Redis無序集合實現(xiàn)禁止多端登錄的相關(guān)內(nèi)容,下面話不多說了,來一起看看詳細的介紹吧
應用背景
多個應用端假設(shè)名稱叫做A和B,禁止用戶從A B同時登錄,A登錄踢B,B登錄踢A
實現(xiàn)思路
- 設(shè)置兩個無序集合a_set, b_set
- a b 登錄的時候執(zhí)行
$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獲取數(shù)據(jù)之前判斷該端的id是否在線(AB兩個端的api是分開的)
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 設(shè)置值到set中
- sismember key_set value 判斷值時候存在key_set里面
- srem key_set value 移除指定值
- smembers key_set 獲取所有的value
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- 詳解Redis開啟遠程登錄連接
- 詳解Redis使用認證密碼登錄
- redis-cli 使用密碼登錄的實例
- 使用redis管理用戶登錄會話的方法