应用背景
多个应用端假设名称叫做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是分开的)
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无序集合实现禁止多端登录的方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号