美文网首页
我玩过的Redis场景

我玩过的Redis场景

作者: 夜末音 | 来源:发表于2018-05-01 15:21 被阅读0次

    一、概述

      redis是现阶段程序员很熟悉的一个工具,人人都说它很强大,功能多,江湖上到处都流传着各种它的传说。而且,不论看哪个大牛的博客,还是牛B公司的设计架构,通通都有redis的身影。但是,在我工作经历当中,其实很多程序员并不会用redis,甚至很多时候是为了用而用,瞎JB用的比比皆是,让人唏嘘不已,悄悄的在背后不屑的说一句:臭SB。当然,笔者可能也是这些“臭SB”之中的一员,所以特此记录下我玩过的redis场景,为今后大家骂我提供文字依据。
    PS : 我是个JAVA程序员,目前仅以JAVA语音进行记录。

    二、使用场景

    1、分布式session

    瞎蛋逼:

      web系统中session的重要性不言而喻,原本session这个东西,是放在后台通过容器进行管理,可是随着项目业务越来越大,单一节点已经不能满足业务需求,系统开始向着集群化,分布式化发展。为了保证每一个节点的高可用,目前流行的都是把服务器做成无状态的服务器。这个时候就要考虑分布式session的问题了。在此我们不讨论IP_HASH啊,通过容器共享session这些方式。我们就说把session放到redis里这种操作。原理其实老简单了,不管用户通过何种方式进行的登录,不管用户通过那个节点登录的系统,只需要把session放到redis里就好了,这样用户之后的操作,都可以通过统一的redis拿到所需要的数据了。

    怎么做

    感谢万能的spring,有个工具叫spring-session-data-redis,用它,没跑。

    2、分布式定时任务

    setnx + expire。后台两个线程,一个抢锁,一个更新消失时间。

    3、分布式锁

    setnx。redlock(有spring boot 配套插件)

    4、热数据缓存

    没啥说的,最常用

    5、保存静态页面

    秒杀系统中,常用来把页面通过字符串形式保存在redis中

    6、预处理

    高并发系统,把要处理的数据提前放到redis中,先做运算,再放入MQ里排队

    7、接口限流

    每个接口预设置时间,和流量

    8、共同好友

    set 操作,交集,并集等

    相关文章

      网友评论

          本文标题:我玩过的Redis场景

          本文链接:https://www.haomeiwen.com/subject/wcnxrftx.html