基于Redis无序集合实现禁止多端登录的方法
时间:2020-09-22 14:00:06
作者:重庆seo小潘
来源:
应用背景 多个应用端假设名称叫做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登录$r
应用背景
多个应用端假设名称叫做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);//踢Aapi获取数据之前判断该端的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更多redis知识请关注redis入门教程栏目。以上就是基于Redis无序集合实现禁止多端登录的方法的详细内容,更多请关注小潘博客其它相关文章!