好程序员Java
培训分享
Redis
缓存使用场景概述
,
Redis
缓存是一个开源的使用
ANSIC
语言编写、支持网络、可基于内存亦可持久化的日志型、
Key-Value
数据库,并提供多种语言的
API
。每一个
Java
人员在完成基础课程的学习后,都要学习
Redis
,因为这是今后工作常用的工具,也是企业选拔人才的一个要点。接下来
好程序员
Java
培训小编就给大家简单分享
Redis
缓存经典使用场景。
1
、缓存热数据。热数据
(
进入市场时经常被查询,但未被修改或删除的数据
)
,首选使用
Redis
缓存,
Redis
的性能非常优越。
2
、计数器。由于具有单个线程,因此可以计算诸如单击、访问、喜欢、评论、视图等的计数,以避免并发问题,确保数据的准确性和
100%
毫秒的性能,同时启用
Redis
持久性为了促进数据的持久性。
3
、单线程机制。验证上一段中的重复请求,并可以自由扩展类似情况,可以通过
Redis
进行过滤。基于
Redis
的
Spike
系统是单线程功能,可防止数据库超卖,全局增量
ID
生成等。
4
、排行榜。得分最高的人排名第一,例如高点击率、活跃度、最高销售数量、投票数最高的前
10
名等。
5
、分布式锁。
Redis
可用于实现分布式锁。为了确保分布式锁可用,至少锁的实现必须同时满足以下条件:
1)
互斥在任何时候,只有一个客户端可以持有该锁
;2)
不会发生死锁
;3)
锁定和解锁必须是同一客户端,并且该客户端无法解锁他人添加的锁。
6
、会话缓存。使用
Redis
在其他存储上缓存会话的优点是
Redis
提供了持久性,目前很多解决方案都采用
Redis
作为会话存储解决方案。
在项目中使用Redis
,主要是从两个角度去考虑:性能和并发。当然,
Redis
还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件
(
如
Zookpeer
等
)
代替,并不是非要使用
Redis
。