摘要:基于无序集合实现禁止多端登录应用背景多个应用端假设名称叫做和,禁止用户从同时登录登录踢,登录踢实现思路设置两个无序集合登录的时候执行登录踢登录踢获取数据之前判断该端的是否在线两个端的是分开的判断判断用到的方法设置值到中判断值时候
基于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是分开的)
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
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/29734.html
摘要:区别的是会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了主从同步。存盘可以有意无意的对数据进行写操作。二的应用场景缓存常常作为数据缓存。如果只用类型,就可以被看作加上持久化特性的。 一、Redis基本概念介绍和特性 1.1 Redis基本概念介绍 showImg(https://segmentfault.com/img/bVWpvd?w=50...
阅读 3794·2021-09-27 13:56
阅读 830·2021-09-08 09:36
阅读 737·2019-08-30 15:54
阅读 563·2019-08-29 17:29
阅读 903·2019-08-29 17:21
阅读 1654·2019-08-29 16:59
阅读 2715·2019-08-29 13:03
阅读 2934·2019-08-29 12:47