基于Redis无序集合实现禁止多端登录功能的方法

发布时间:2021-02-07 10:49:27 作者:小新
来源:亿速云 阅读:158

这篇文章给大家分享的是有关基于Redis无序集合实现禁止多端登录功能的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

前言

一个集合类型可以存储最多2^32 -1 个字符串

集合类型在redis内部使用值为空的散列表(hash table)实现,所以集合中的加入或删除元素等时间复杂度为O(1)。

集合具有元素唯一性。

应用背景

多个应用端假设名称叫做A和B,禁止用户从A B同时登录,A登录踢B,B登录踢A

实现思路

$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
}

用到的方法

感谢各位的阅读!关于“基于Redis无序集合实现禁止多端登录功能的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. Redis数据操作--无序集合
  2. Redis常用命令(二)列表键、无序集合键

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

redis

上一篇:怎么批量生成MySQL不重复手机号的示例

下一篇:VUE里子组件怎样获取父组件动态变化的值

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》