按次控制结算
现在数据类型五种基本的已经学完了,现在开始应用一个简单的业务场景。
要思考如何进行一个综合应用。
那么进行一个分析,分析解决方案如何进行操作。
难点是:计数且有生命周期。
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的过程模拟。
所以总结:可以用来做一个时间到达顺序的排列,但是不关注时间本身!
解决方案列表汇总:应用场景