• Redis server response timeout (3000 ms) occured after 3 retry attempts. Command: (EXISTS), params: [


    Redis server response timeout (3000 ms) occured after 3 retry attempts. Command: (EXISTS), params: [XXXX], channel: [id: 0xXXXX, L:/XXXXX.45.128:44772 - R:10.122.67.XX/10.122.67.56:6379]X

    rg.redisson.client.RedisResponseTimeoutException: Redis server response timeout (3000 ms) occured after 3 retry attempts. Command: (HEXISTS), params: [com.dinsmooth.storehbase.schedule:entryTaskDelay, 1f15dcac-22b6-4865-92a5-a6452e6ae5c3:154], channel: [id: 0x4d120152, L:/10.255.2.30:52607 - R:172.16.0.211/172.16.0.211:6379] at org.redisson.command.RedisExecutor$3.run(RedisExecutor.java:362) at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:682) at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:757) at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:485) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:748)

    误原因:客户端长时间未使用,服务端会断开

    解决办法:redisson添加配置 

    #连接间隔 心跳 pingConnectionInterval: 1000

    使用代码配置:

    package io.lenovo.ecai.portalorder.config;
    
    import org.redisson.Redisson;
    import org.redisson.api.RedissonClient;
    import org.redisson.config.Config;
    import org.redisson.spring.data.connection.RedissonConnectionFactory;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    public class RedissonConfig {
        /**
         * 设置redisson缓存工厂,由于下面的工厂都是用的是redisson所以注意配置redissonclient
         *
         * @param client
         * @return
         */
        @Bean(name = "redissonconnectionfactory")
        public RedissonConnectionFactory getfactory(RedissonClient client) {
            return new RedissonConnectionFactory(client);
        }
    
        /**
         * redis单机配置
         *
         * @return
         */
        public RedissonClient getclient() {
            Config config = new Config();
    
            config.useSingleServer().setAddress("redis://${spring.redis.host}:${spring.redis.port}")
                    .setTimeout(1000)
                    .setRetryAttempts(3)
                    .setRetryInterval(1000)
                    .setPingConnectionInterval(1000)//**此项务必设置为redisson解决之前bug的timeout问题关键*****
                    .setDatabase(3);
            return Redisson.create(config);
        }
    }
    
    
  • 相关阅读:
    Java 课程设计:LWZ
    回溯法解骑士巡游问题
    2021.3.30 错误2
    2021.3.29 关于上下滚动
    2021.3.28 WebView的用法
    2021.3.27 关于错误1
    2021.3.26 Python创建表
    2021.3.25 人月神话阅读笔记06
    2021.3.24 个人作业第三阶段1
    2021.3.23 个人作业第三阶段
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/14269260.html
Copyright © 2020-2023  润新知