redis 可以应用到哪些场景下 ?
1、短信验证码
把短信验证码存到 redis,给 key 设置一个过期时间。key 过期就查不到数据,验证码自然就过期了。
2、缓存热点数据
热点数据:数据频繁被查询或被使用,对一致性要求很高的数据,不建议放在 redis里面,有可能会出现数据不一致的问题。
数据不一致的简单解决办法就是先更新数据再更新缓存,即使这样也会存在问题,对一致性要求很高的数据就不建议放在缓存里。
3、分布式锁
并发的时候,可能会出现线程不安全的情况,为了保证分布式情况下的串行执行。这个时候需要使用分布式锁,而 redis 的 setIfAbsent 指令就适合做这个锁。这个指令的意思就是不存在该 key,就成功,相反而知。 或者也用 rediisson 客户端的实现。
4、计数器、自增 id
使用 redis 的 incr 指令即可实现。
5、排行榜
利用 Sorted Set 来实现排行榜的功能,减少了数据在 jvm 内部中排序的消耗时间。 将你要排序的值设置成 sorted set的score,将具体的数据设置成相应的value,每次只需要执行一条ZADD命令即可。
6、帖子点赞、浏览。app 签到、like、热门商品等功能
|