久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

基于Redis無(wú)序集合實(shí)現(xiàn)禁止多端登錄功能的方法

共計(jì) 774 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。

自動(dòng)寫(xiě)代碼機(jī)器人,免費(fèi)開(kāi)通

這篇文章給大家分享的是有關(guān)基于 Redis 無(wú)序集合實(shí)現(xiàn)禁止多端登錄功能的方法的內(nèi)容。丸趣 TV 小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨丸趣 TV 小編過(guò)來(lái)看看吧。

前言

一個(gè)集合類(lèi)型可以存儲(chǔ)最多 2^32 -1 個(gè)字符串

集合類(lèi)型在 redis 內(nèi)部使用值為空的散列表(hash table)實(shí)現(xiàn),所以集合中的加入或刪除元素等時(shí)間復(fù)雜度為 O(1)。

集合具有元素唯一性。

應(yīng)用背景

多個(gè)應(yīng)用端假設(shè)名稱(chēng)叫做 A 和 B,禁止用戶從 A B 同時(shí)登錄,A 登錄踢 B,B 登錄踢 A

實(shí)現(xiàn)思路

設(shè)置兩個(gè)無(wú)序集合 a_set, b_set

a b 登錄的時(shí)候執(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 兩個(gè)端的 api 是分開(kāi)的)

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 判斷值時(shí)候存在 key_set 里面

srem key_set value 移除指定值

smembers key_set 獲取所有的 value

感謝各位的閱讀!關(guān)于“基于 Redis 無(wú)序集合實(shí)現(xiàn)禁止多端登錄功能的方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向 AI 問(wèn)一下細(xì)節(jié)

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-04發(fā)表,共計(jì)774字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 阿拉善盟| 湖州市| 赞皇县| 揭西县| 泾源县| 徐水县| 封开县| 罗定市| 汶上县| 牡丹江市| 定日县| 兴义市| 通道| 柳江县| 云梦县| 延吉市| 景东| 同仁县| 昭通市| 汨罗市| 石楼县| 松桃| 祁阳县| 西畴县| 江都市| 富民县| 广灵县| 平邑县| 阳东县| 观塘区| 泰安市| 高唐县| 大冶市| 安陆市| 武胜县| 都江堰市| 华池县| 石嘴山市| 富源县| 河源市| 大丰市|