redis妙用-应用场景
条评论分布式环境中,redis作为必不可少的中间件,我们都常有用到,但是我们大多数人基本都没有系统学习过,只是跟着潮流把redis当作一个缓存来用,或者用它来实现分布式锁、分布式自增键。而本章内容还继续讲这些就没有任何意义,因为这些东西都已经讲烂了,百度的资料都一大堆。本章我们回归初心,整理redis几种数据类型,以及列举应用场景。你会重新认识到redis的强大,而不是仅次于缓存。
先总结现在redis支持的几种数据类型,在开发中,相信都已经用过了string, set, list, zset, hash,这些数据结构。但是在官网中还有找到其他的一些数据结构,如hyperloglogs, geospatial,以及在5.0后出了一个streams,在这个数据结构出来之后,基本上redis的重心在往一个消息中间件偏移,所以你把redis当作一个缓存,是非常片面的。
本章对redis的几大基本类型进行罗列,以及各自应用场景,后来发现篇幅实在太大,得以拆分,大家可根据自身进行查略。
string
回顾string经典场景,以及对这些场景延申的一些思考。点击查看
- 缓存(如何设计缓存存储,使用spring cache另当别论)
- 分布式锁(锁续期)
- 计数器
- 分布式全局序列(减少IO交互提高效率)
hash
试图揣测redis官方推出hash的意义,以及实现原理。点击查看
list
- 基于list实现消息队列
- 新浪/twitter用户消息列表
set
- 抽奖活动
- 点赞、签到
- 好友关注模型
- 电商商品筛选
- 大数据量对账
zset
- 统计运算
- 热点新闻排行榜
总结
在本章中,其实所回顾的都是基础,没有过深的技术难点,但是它却解决了,互联网中比较难实现的场景。例如新浪消息列表、抽奖、好友关注模型、大数据对账、大数据排序等…这些功能在不依赖redis的时候,实现起来有多困难。而这些都是redis的基础知识。
其实我只是想说,回归初心脚踏实地巩固基础真的很重要。
- 本文链接:https://www.ofcoder.com/2019/05/11/middleware/redis%E5%A6%99%E7%94%A8-%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF/
- 版权声明:Copyright © 并发笔记 - ofcoder.com. Author by far.
分享