redis应用场景有哪些

55次阅读
没有评论

共计 1267 个字符,预计需要花费 4 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要介绍了 redis 应用场景有哪些,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让丸趣 TV 小编带着大家一起了解一下。

redis 用在什么地方?

redis 应用场景

● 令牌 (Token) 生成

● 短信验证码

● 排行榜

● 消息队列

Redis 中 list 的数据结构实现是双向链表,所以可以非常便捷的应用于消息队列(生产者 / 消费者模型)。消息的生产者只需要通过 lpush 将消息放入 list,消费者便可以通过 rpop 取出该消息,并且可以保证消息的有序性。如果需要实现带有优先级的消息队列也可以选择 sorted set。而 pub/sub 功能也可以用作发布者 / 订阅者模型的消息。无论使用何种方式,由于 Redis 拥有持久化功能,也不需要担心由于服务器故障导致消息丢失的情况。(推荐:《Redis 视频教程》)

如果对于数据一致性要求高的话还是用 RocketMQ 等专业系统。

由于 redis 把数据添加到队列是返回添加元素在队列的第几位,所以可以做判断用户是第几个访问这种业务

队列不仅可以把并发请求变成串行,并且还可以做队列或者栈使用

分布式锁

验证前端的重复请求,可以通过 redis 进行过滤

秒杀系统,基于 redis 是单线程特征,防止出现数据库“爆破”

全局增量 ID 生成,类似“秒杀”

计数器

诸如统计点击数等应用。由于单线程,可以避免并发问题,保证不会出错,而且 100% 毫秒级性能!

计数功能应该是最适合 Redis 的使用场景之一了,因为它高频率读写的特征可以完全发挥 Redis 作为内存数据库的高效。在 Redis 的数据结构中,string、hash 和 sorted set 都提供了 incr 方法用于原子性的自增操作。

例子:

如果应用需要显示每天的注册用户数,便可以使用 string 作为计数器,设定一个名为 REGISTERED_COUNT_TODAY 的 key,并在初始化时给它设置一个到凌晨 0 点的过期时间,每当用户注册成功后便使用 incr 命令使该 key 增长 1,同时当每天凌晨 0 点后,这个计数器都会因为 key 过期使值清零。

每条微博都有点赞数、评论数、转发数和浏览数四条属性,这时用 hash 进行计数会更好,将该计数器的 key 设为 weibo:weibo_id,hash 的 field 为 like_number、comment_number、forward_number 和 view_number,在对应操作后通过 hincrby 使 hash 中的 field 自增。

如果应用有一个发帖排行榜的功能,便选择 sorted set 吧,将集合的 key 设为 POST_RANK。当用户发帖后,使用 zincrby 将该用户 id 的 score 增长 1。sorted set 会重新进行排序,用户所在排行榜的位置也就会得到实时的更新。

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享 redis 应用场景有哪些内容对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,遇到问题就找丸趣 TV,详细的解决方法等着你来学习!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2024-02-03发表,共计1267字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)