当前位置: 首页 > 后端技术 > PHP

基于Redis无序集合禁止多终端登录

时间:2023-03-29 21:06:27 PHP

实现基于Redis无序集合禁止多终端登录应用背景假设多个应用终端名称为A和B,禁止用户同时从A和B登录B.A登录踢B,B登录踢A实现思路设置两个无序集合a_set,b_setab执行$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}使用的方法是saddkey_setvaluesetthevaluetosismemberkey_setvalueintheset判断值时,它存在于key_setsremkey_set值移除指定值smemberskey_set获取所有值