1.缓存

经常查询的数据,放到读速度很快的空间中(内存),以便下次减少访问时间,访问压力,而Redis一般就是放在内存中的。

2.计数器应用

所谓的计数器就是给一个初始值,然后进行自增自减操作。

例如:网站的注册用户数,网站浏览次数,新浪微博的转发数,点赞数,评论数等等。

当数据量较小时,将计数器变量放入数据库或Redis中效果差不多,但当点赞数达到百万级或更高时,频繁的update数据库中的数据会造成系统迟缓,严重的可能导致数据库崩溃,这时如果放在Redis中,读取速度是非常快的,而且Redis提供了incr(自增)和decr(自减)方法,非常适合计数器的使用。

Redis的使用场景

3.实时防攻击系统

暴力**:使用工具不间断的尝试各种密码进行登录。防:当同一ip登录失败的次数达到10次以后,自动锁定,30分钟后自动解锁。用户量大时使用

4.排行榜

       总积分榜,今日积分榜,周积分榜,月积分榜,季度积分。用户刷新频率大。

5.设定有效期

       设定一个数据,到一定期限失效,如:自动解锁,购物券,VIP,订单等等。

6.自动去重应用

       Uniq操作,获取某段世间所有数据排重值,使用Redis的set数据结构最为合适了,只需要不断的将数据扔进set中就行了,set为不可重复的集合,所以会自动排重。

7.队列

       什么是队列?比如买票时排队,即先进先出,那么队列可以用来干啥?“秒!杀!”把名额放进队列中,内存就能够处理高并发访问。

8.消息订阅系统

       Pub/Sub构建实时消息系统,Redis的Pub/Sub系统可以构建实时的消息系统,比如很多用Pub/Sub构建的实时聊天系统的例子。比如qq群消息。

用的最多的场景一般是队列、有效期、实时防攻击系统、计数器、缓存这五种。

相关文章: