前言
一个集合类型可以存储最多2^32 -1 个字符串
集合类型在redis内部使用值为空的散列表(hash table)实现,所以集合中的加入或删除元素等时间复杂度为O(1)。
集合具有元素唯一性。
本文主要给大家介绍了基于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是分开的)
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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
继续阅读与本文标签相同的文章
上一篇 :
DOS的重定向命令使用方法以及在安全方面的应用
下一篇 :
GPU云服务器深度学习性能模型初探
-
等保2.0必须关注的点
2026-05-19栏目: 教程
-
美颜SDK关键功能点介绍
2026-05-19栏目: 教程
-
应用架构的核心使命是什么?阿里高级技术专家这样说
2026-05-19栏目: 教程
-
5G开启万物互联新畅想
2026-05-19栏目: 教程
-
5 分钟开发一个 AI 检测人体框架的 App
2026-05-19栏目: 教程
