栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Redis学习7:按次结算的服务控制、微信会话顺序管理(应用场景总结)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Redis学习7:按次结算的服务控制、微信会话顺序管理(应用场景总结)

按次控制结算

  • 现在数据类型五种基本的已经学完了,现在开始应用一个简单的业务场景。

  • 要思考如何进行一个综合应用。

  • 那么进行一个分析,分析解决方案如何进行操作。

  • 难点是:计数且有生命周期。

  • setex 是可以设置时长
  • setex 415 60 1;


  • 就是反复的走这个过程,如果是一个新用户,就进行设1增加。进来415发现不存在,就开始设置时间长度,并且开始进行增加。
  • 进行方案改进:能否最后一次才进行判定次数,而不是每次判定。

  • 直接设置一个特殊值。
  • get发现有值,那么直接进行增加,增加到最后的时候,超范围就会溢出,然后发现这个异常就会告诉用户发现有问题了。
  • 用异常的形式就可以免去每次都判定的一个麻烦了。
  • 然后等待一分钟后,就又可以重新来了。
消息会话顺序管理
  • 首先进行模型管理。

  • 对于用户100来说,如果300发消息给100,先检查是不是在set的置顶中,然后如果不在,那么就进入到list普通里面,然后400发消息给100,检查发现在置顶中,那么进入到list置顶中,然后200发消息,这个时候200进入到list普通中,200再发一次消息,300再发消息,顺序就成如下的了。有(先减去200,再加200,删去300,再加上300.,最后是300发的,所以300是最上面的!)


  • set是没有顺序的,那么就不需要这个了。
  • sort_set也不行,因为发的次数多,不一定是发的时间最前面。
过程模拟
  • 进行 200 300 400 200 200 300的过程模拟。
  • 所以总结:可以用来做一个时间到达顺序的排列,但是不关注时间本身!
解决方案列表汇总:应用场景

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/301674.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号