当前位置: 首页 > news >正文

新网站建设ppt怎么把网站做的小程序

新网站建设ppt,怎么把网站做的小程序,网站开发有哪些内容,南宫职业教育中心示范校建设网站一、前言 大家好#xff01;我是sum墨#xff0c;一个一线的底层码农#xff0c;平时喜欢研究和思考一些技术相关的问题并整理成文#xff0c;限于本人水平#xff0c;如果文章和代码有表述不当之处#xff0c;还请不吝赐教。 在线人数统计这个功能相信大家一眼就明白是…一、前言 大家好我是sum墨一个一线的底层码农平时喜欢研究和思考一些技术相关的问题并整理成文限于本人水平如果文章和代码有表述不当之处还请不吝赐教。 在线人数统计这个功能相信大家一眼就明白是啥这个功能不难做实现的方式也很多这里说一下我常使用的方式使用Redis的有序集合(zset)实现。 核心方法是这四个zadd、zrangeByScore、zremrangeByScore、zrem。 二、实现步骤 1. 如何认定用户是否在线 认定用户在线的条件一般跟网站有关如果网站需要登录才能进入那么这种网站就是根据用户的token令牌有效性判断是否在线 如果网站是公开的是那种不需要登录就可以浏览的那么这种网站一般就需要自定一个规则来识别用户也有很多方式实现如IP、deviceId、浏览器指纹推荐使用浏览器指纹的方式实现。 浏览器指纹可能包括以下信息的组合用户代理字符串 (User-Agent string)、HTTP请求头信息、屏幕分辨率和颜色深度、时区和语言设置、浏览器插件详情等。现成的JavaScript库像 FingerprintJS 或 ClientJS可以帮助简化这个过程因为它们已经实现了收集上述信息并生成唯一标识的算法。 使用起来也很简单如下 // 安装npm install fingerprintjs/fingerprintjs// 使用示例 import FingerprintJS from fingerprintjs/fingerprintjs;// 初始化指纹JS Library FingerprintJS.load().then(fp {// 获取访客IDfp.get().then(result {const visitorId result.visitorId;console.log(visitorId);}); }); 这样就可以获取一个访问公开网站的用户的唯一ID了当用户访问网站的时候将这个ID放到访问链接的Cookie或者header中传到后台后端服务根据这个ID标示用户。 2. zadd命令添加在线用户 1zadd命令介绍 zadd命令有三个参数 key有序集合的名称。 score1、score2 等分数值可以是整数值或双精度浮点数。 member1、member2 等要添加到有序集合的成员。 例子向名为 myzset 的有序集合中添加一个成员ZADD myzset 1 one 2添加在线用户标识到有序集合中 // expireTime给用户令牌设置了一个过期时间 LocalDateTime expireTime LocalDateTime.now().plusSeconds(expireTimeout); String expireTimeStr DateUtil.formatFullTime(expireTime); // 添加用户token到有序集合中 redisService.zadd(user.active, Double.parseDouble(expireTimeStr), userToken);由于一个用户可能户会重复登录这就导致userToken也会重复但为了不重复计算这个用户的访问次数zadd命令的第二个参数很好的解决了这个问题。 我这里的逻辑是每次添加一个在线用户时利用当前时间加上过期时间计算出一个分数可以有效保证当前用户只会存在一个最新的登录态。 3. zrangeByScore命令查询在线人数 1zrangeByScore命令介绍 key指定的有序集合的名字。 min 和 max定义了查询的分数范围也可以是 -inf 和 inf分别表示“负无穷大”和“正无穷大”。 例子查询分数在 1 到 3之间的所有成员ZRANGEBYSCORE myzset 1 3 2查询当前所有的在线用户 // 获取当前的日期 String now DateUtil.formatFullTime(LocalDateTime.now()); // 查询当前日期到inf之间所有的用户 SetString userOnlineStringSet redisService.zrangeByScore(user.active, now, inf);利用zrangeByScore方法可以查询这个有序集合指定范围内的用户这个userOnlineStringSet也就是在线用户集它的size就是在线人数了。 4. zremrangeByScore命令定时清除在线用户 1zremrangeByScore命令介绍 key指定的有序集合的名字。 min 和 max定义了查询的分数范围也可以是 -inf 和 inf分别表示“负无穷大”和“正无穷大”。 例子删除分数在 1 到 3之间的所有成员ZREMRANGEBYSCORE myzset 1 3 2定时清除在线用户 // 获取当前的日期 String now DateUtil.formatFullTime(LocalDateTime.now()); // 清除当前日期到-inf之间所有的用户 redisService.zremrangeByScore(user.active,-inf, now); 由于有序集合不会自动清理下线的用户所以这里我们需要写一个定时任务去定时删除下线的用户。 5. zrem命令用户退出登录时删除成员 1zrem命令介绍 key指定的有序集合的名字。 members需要删除的成员 例子删除名为xxx的成员ZREM myzset xxx 2定时清除在线用户 // 删除名为xxx的成员 redisService.zrem(user.active, xxx); 删除 zset中的记录确保主动退出的用户下线。 三、小结一下 这种方案的核心逻辑就是创建一个在线用户身份集合为key利用用户身份为member利用过期时间为score然后对这个集合进行增删改查实现起来还是比较巧妙和简单的大家有兴趣可以试试看。
http://www.zqtcl.cn/news/849087/

相关文章:

  • 全国网站直播平台被摧毁响应是网站怎么做
  • 衡阳建设网站做网站和app多少费用
  • 怎么做付费网站蚌埠网站建设专业公司哪家好
  • 学网站建设需要多长时间成都网站建设定制开发服务
  • 建站宝盒后台深圳建网站公司怎么选择
  • 什么是大型门户网站网站建设的经验之谈
  • 网站建站网站设计网站制作书生
  • 租号网站是怎么做的wordpress 快讯功能
  • 口碑好的盐城网站建设wordpress课堂主题
  • 网站品牌打造wordpress插件有木马
  • 网站开发与软件研发有什么区别查网站域名备案查询系统
  • 硬盘做免费嗳暧视频网站黄冈免费网站推广平台汇总
  • node做网站怎么知道蜘蛛来过怎么学网站设计
  • 青海省建设厅网站公示公告简单建站
  • 手机网站用什么后台wordpress 百度蜘蛛
  • 网站文章伪原创怎么做手机网站 程序
  • 网站建设每月工作多少开发小程序的目的
  • 社区网站建设方案pptwordpress用户名在哪看
  • 浙江企业响应式网站建设公司简介如何写
  • 自己做静态网站的步骤店面设计在线
  • 活动汪活动策划网站wordpress 无法保存
  • 门户网站开发案例兰州需要做网站的公司有哪些
  • 东莞企业网站asp网站怎么安装
  • 个人做公司网站网站备案取消接入
  • 崇信网站建设it外包的收益主要有哪些
  • 安陆做网站多少钱免费网站定制
  • 快递网站模版长春好的做网站公司有哪些
  • 怎么利用公司网站开发客户网站建设重点步骤
  • 网站站内推广用个人电脑做网站的步骤
  • 网站设计主要包含3个方面陕西城乡住房建设部网站