Redis应用场景有哪些?
Redis应用场景有哪些?
一. 背景说明
小白:刘哥,最近面试被问到了Redis的应用场景,能给我详细讲一下吗?
刘哥:好的,马上安排。
二. 缓存数据
在开发时,我们起初从数据库中读取数据,假如从前端到后端需要5秒,从后端读取DB需要5s,这样整个过程需要10秒。如果这个数据放到Redis缓存中,从内存中读取,不仅速度会快,也可以减小数据库的压力。
三. 排行榜数据
如今,很多网站都有排行榜的功能,比如日周月排行榜数据,访问人数和刷新频率都会影响加载速度,所以我们可以设置定时任务,提前把数据放入Redis,定时任务参考执行时间:日(每天凌晨统计昨天)、周(每周一凌晨统计上周)、月(每月1号凌晨统计上个月),当然,具体还得结合实际的业务逻辑。
四. 计数器
用于文章的数量、视屏播放的次数统计;点赞、踩、关注、粉丝亮灯牌等数量的实时显现,让用户可以实现所操作即所见的体验感。伟哥这样做的话,就得先把数据保存到了Redis,在合适的时机再同步到数据库。注意:允许一段时间出现Redis与数据库数据不一致的。
五. 发布订阅
Redis在操作上可以实现队列和栈的特征,并且这两个操作是阻塞的。
队列:FIFO先进先出,我们可以从存储数据的右边获取数据。
栈:先进后出,我们可以从存储数据的左边获取数据。
六. 抢红包、抽奖
Redis能获取一定范围内的随机值,所以可以实现抢红包和抽奖的功能。不要心急,伟哥后边带你撸代码。
七. 分布式锁
在单机情况下,可以采用事务和锁来实现数据的安全,如果是多台,多用户分布式的情况下,无法采用单台的事务来解决此问题,可以在Redis中设置一个标记,标记只能有一个人有权操作此资源,以此保证操作的安全性,这是解决分布式锁安全的机制之一。

相关推荐HOT
更多>>
JavaScript全解析——案例-验证码按钮倒计时
JavaScript全解析——案例-验证码按钮倒计时

算法评测标准---空间复杂度是什么?
算法评测标准---空间复杂度是什么?空间复杂度是什么?一. 空间复杂度的概念,复杂度(Space Complexity),是对一个算法在运行过程中临时占用存...详情>>
2023-03-23 20:15:04
怎么用css画三角形?
怎么用css画三角形?border这里的像素值 和 border-left这里的像素值可以是不一样的,也可以是一样的,根据三角形的形状来进行具体设置值即可,要...详情>>
2023-03-23 15:27:16
Maven集成 tomcat插件及使用教程
在实际的项目开发中,特别是分布式项目,往往有N多个子项目需要同时启动测试。这样多个项目引用tomcat插件,配置不同的端口,就可以同时启动N个...详情>>
2023-02-23 14:44:00热门推荐
JavaScript全解析——案例-验证码按钮倒计时
沸hooks模仿componentDidMount是什么
热Redis的八大特性有哪些?
热Redis应用场景有哪些?
新JavaScript全解析——设计模式是什么
JavaScript全解析——数据操作是什么
JavaScript全解析——DOM操作-获取元素的方式
useEffect如何写在依赖?
useRef与createRef的区别是什么?
redux中如何使用中间件?
useDeferredValue vs useTransition有什么不同?
createSelector的使用场景有哪些?
从零开始学Java53之Integer底层原理探究
移动端兼容适配是什么?
技术干货






