SpringBoot中使用redis出现的问题总结

     1.springboot2.x集成redis底层使用的是netty,会出现堆外内存,所以要使用jedis

<dependency>

   <groupId>org.springframework.boot</groupId>

   <artifactId>spring-boot-starter-data-redis</artifactId>

   <exclusions>

       <!-- Lettuce的bug导致netty堆外内存溢出 切换使用jedis-->

       <exclusion>

           <groupId>io.lettuce</groupId>

           <artifactId>lettuce-core</artifactId>

       </exclusion>

   </exclusions>

</dependency>

<!--       Lettuce的bug导致netty堆外内存溢出 切换使用jedis-->

<dependency>

   <groupId>redis.clients</groupId>

   <artifactId>jedis</artifactId>

</dependency>

    2.缓存穿透

        问题:利用一个数据库不存在的数据进行攻击,数据库瞬间压力增大,导致崩溃。

        解决:null结果缓存,并加入短暂过期时间。

    3.缓存雪崩

        问题:缓存过期时间一致,导致缓存同一时间段过期,请求全部放到数据库,数据库暑假按压力过大崩溃。

        解决:原有失效时间基础上加一个随机值。

    4.缓存击穿

        问题:热点数据缓存失效时大量请求提交,数据库压力过大崩溃。

        解决:加锁。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值