redis 05

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: redis 05

Resid数据类型综合实践案例

业务场景 1.计数器

e8dc81c50fbbba02ef1f00b3e8479930_20200420134159610.png

解决方案

  • 设计计数器,记录调用次数,用于控制业务执行次数。以用户id作为key,使用此时作为value
  • 在调用前获取次数,判断是否超过限定次数,不超过次数的情况下,每次调用计数+1,业务调用失败,计数-1
  • 为了计数器设置生命周期为指定周期,例如1秒/分钟,自动清空周期内使用次数。

2a508b82cad2c61de4126927612af3a2_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FtcW0zMw==,size_16,color_FFFFFF,t_70.png

Tips 16:

  • redis应用于限时按次结算的服务控制

业务场景(微信会话)

9d8fc7dd25017857092a6b96a1811180_20200420141235984.png

业务分析

2f840a472d6522bcb0a737f37ce94f61_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FtcW0zMw==,size_16,color_FFFFFF,t_70.png

解决方案

  • 依赖list的数据具有顺序的特征对消息进行管理,将list结构作为栈使用
  • 对指定与普通会话分别创建独立的list分别管理
  • 当某个list中接收到用户消息后,将消息发送方的id从list的一侧加入list(此处设定左侧)
  • 多个相同id发出的消息反复入栈会出现问题,在入栈之前无论是否具有当前id对应得消息,先删除对应id
  • 推送消息时先推送顶置会话list,再推送普通会话list,推送完成的list清除所有数据
  • 消息的数量,也就是微信用户对话数量采用计数器的思想另行记录,伴随list操作同步更新

4d7e3b7953cf82ebb00914775d1bc25d_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FtcW0zMw==,size_16,color_FFFFFF,t_70.png

</article>


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
存储 缓存 NoSQL
Redis系列
Redis系列
|
1月前
|
存储 监控 NoSQL
redis 相关知识
redis 相关知识
20 1
|
6月前
|
存储 NoSQL 测试技术
【Redis】redis为什么快
【Redis】redis为什么快
|
5月前
|
存储 NoSQL 网络安全
Redis
Redis
36 0
|
6月前
|
存储 NoSQL Redis
Redis介绍以及日常使用
​ 介绍 Redis(REmote DIctionary Server)是一个开源的、使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、非关系类型的Key-Value数据库。它提供了多种语言的API,如Java、C/C++、C#、PHP、JavaScript、Perl、Object-C、Python、Ruby、Erlang等,使得在各种语言环境下使用Redis都变得非常方便。 Redis是一个高性能的Key-Value数据库,其性能在很大程度上补偿了如Memcached这类Key-Value存储的不足,并且在某些场景下,它还可以作为关系数据库的良好补充。它支持的数据结构类型
187 1
|
6月前
|
缓存 NoSQL 数据库
Redis的三剑客
Redis的三剑客
|
消息中间件 缓存 NoSQL
Redis总结
Redis总结
35 0
|
存储 缓存 NoSQL
|
NoSQL 关系型数据库 MySQL
Redis1
Redis1
80 0
|
设计模式 移动开发 缓存
可算知道Redis为什么这么快了
可算知道Redis为什么这么快了
139 0