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

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 现在数据类型五种基本的已经学完了,现在开始应用一个简单的业务场景。

按次控制结算


ea1a14292a10d64c971370a952b04ab2_366a8c8b75f1444997f4b6c8da946bfb.png

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


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


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


dcf1e39c5d78f05b1cb4b108c98a48be_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_16,color_FFFFFF,t_70,g_se,x_16.png

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

0761b10edd52308455fe059f0747f081_980689aa3a63418fac5fdf634d3f7c23.png

setex 是可以设置时长

setex 415 60 1;

ab337a5f4c1185721b2092a7f2f4f93e_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_13,color_FFFFFF,t_70,g_se,x_16.png

0bfe476838ddc265278ab854f71eac93_67b7c7dbe51c4b62884629857145cf4f.png

就是反复的走这个过程,如果是一个新用户,就进行设1增加。进来415发现不存在,就开始设置时间长度,并且开始进行增加。

进行方案改进:能否最后一次才进行判定次数,而不是每次判定。

823fae8284a6ceb00acb389a565ab859_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_19,color_FFFFFF,t_70,g_se,x_16.png


直接设置一个特殊值。

8d70e6825fc20f18d71ee18ff77fce99_cd5d9742d60049f5ac84219b19858d42.png

get发现有值,那么直接进行增加,增加到最后的时候,超范围就会溢出,然后发现这个异常就会告诉用户发现有问题了。

用异常的形式就可以免去每次都判定的一个麻烦了。

然后等待一分钟后,就又可以重新来了。

消息会话顺序管理

首先进行模型管理。

3a862dd1f1f9a2e812447680a8c935f1_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_20,color_FFFFFF,t_70,g_se,x_16.png

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

2b591f3723299bbb86f382e3c1d1a0a5_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_20,color_FFFFFF,t_70,g_se,x_16.png

a7d8f047ca5e1f9718a60900cc433139_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_20,color_FFFFFF,t_70,g_se,x_16.png

7e12a087a5632129cfa1adbdf139065f_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_17,color_FFFFFF,t_70,g_se,x_16.png

set是没有顺序的,那么就不需要这个了。

sort_set也不行,因为发的次数多,不一定是发的时间最前面。

过程模拟

进行 200 300 400 200 200 300的过程模拟。

230f8a99c16a93d9f511bcbd6190511c_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_15,color_FFFFFF,t_70,g_se,x_16.png

所以总结:可以用来做一个时间到达顺序的排列,但是不关注时间本身!

解决方案列表汇总:应用场景

895928b34250c7825c7a7df399d3f603_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA572R5LqL6ZqP6aOOMjAxNw==,size_20,color_FFFFFF,t_70,g_se,x_16.png

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
存储 小程序 JavaScript
基于微信小程序的移动学习平台的设计与实现_kaic
基于微信小程序的移动学习平台的设计与实现_kaic
|
1月前
|
弹性计算 NoSQL Redis
阿里云ECS使用docke搭建redis服务
阿里云ECS使用docke搭建redis服务
157 1
|
1天前
|
消息中间件 存储 缓存
|
7天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的英语学习交流平台的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的英语学习交流平台的详细设计和实现
21 2
|
7天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的移动学习平台的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的移动学习平台的详细设计和实现
31 1
|
7天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的医院核酸检测服务系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的医院核酸检测服务系统的详细设计和实现
31 0
|
28天前
|
缓存 NoSQL Shell
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(持久化功能分析)
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(持久化功能分析)
148 0
|
28天前
|
存储 缓存 NoSQL
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群功能分析)(一)
【Redis深度专题】「核心技术提升」探究Redis服务启动的过程机制的技术原理和流程分析的指南(集群功能分析)
321 0
|
1月前
|
JSON 小程序 C#
微信网页授权之使用完整服务解决方案
微信网页授权之使用完整服务解决方案
|
1月前
|
安全 小程序 Java
java实现微信服务(公众)号用户关注时,获取openid,安全模式下的加密解密实现
java实现微信服务(公众)号用户关注时,获取openid,安全模式下的加密解密实现
19 0

热门文章

最新文章