解决springboot项目中redis偶现超时问题

一.Redis command timed out, nested exception is io.lettuce.core.RediscommandTimeoutException iolettuce.core.RedisCcommandTimeoutExcepton问题解决

在这里插入图片描述

将redis 的lettuce连接池换成jredis,因为jredis默认是发心跳包的,而lettuce是不发心跳包的 。
应该跟腾讯云服务器也有关,每次redis用了几个小时后,就报这个超时的错误。看其他博客上阿里云没这个问题

pom.xml导入相关依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <exclusions>
        <exclusion>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </exclusion>
        <exclusion>
            <artifactId>lettuce-core</artifactId>
            <groupId>io.lettuce</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>redis.clients</groupId>
   <artifactId>jedis</artifactId>
</dependency>

applicalition.yml配置

redis:
  port: 6379
  host: 49.234.93.*
  timeout: 5000
  jedis:
    pool:
      max-idle: 6
      max-active: 32
      max-wait: 100
      min-idle: 4

二、解决了上面的问题,偶尔还是会报错

在这里插入图片描述

  • 修改redis.conf
    vi打开redis-server配置的redis.conf文件,然后使用快捷匹配模式:/stop-writes-on-bgsave-error定位到stop-writes-on-bgsave-error字符串所在位置,接着把后面的yes设置为no即可。

  • 设置redis缓存超时时间

 redisTemplate.expire("express",5000, TimeUnit.SECONDS);

三、可能是redis没有设置密码致服务器CPU被挖矿病毒占满。

vim  /etc/redis.conf
#requirepass foobared去掉注释,foobared改为自己的密码,我在这里改为
requirepass 123123

响应的要在application.yml中添加redis密码设置

redis:
  port: 6379
  host: 49.234.93.*
  timeout: 5000
  jedis:
    pool:
      max-idle: 6
      max-active: 32
      max-wait: 100
      min-idle: 4
  password: 123123

四、设置输出错误日志

修改redis.conf 配置日志文件路径
将原来logfile后面的单词替换成自己的路径
logfile “这里填写你的路径”

在这里插入图片描述
查看错误日志
在这里插入图片描述
错误一、警告超委托内存设置为0!后台保存可能在低内存条件下失败。要解决此问题,请将“vm.overcommit_.=1”添加到/etc/sysctl.conf,然后重新启动或运行命令“sysctl vm.overcommit_.=1”,以使其生效。按照提示修改
错误二、意思是:你使用的是透明大页,可能导致redis延迟和内存使用问题。执行 echo never > /sys/kernel/mm/transparent_hugepage/enabled 修复该问题。
修改后重启

现在我redis一直能长时间运行。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值