日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

關(guān)于SpringBoot整合redis使用Lettuce客戶(hù)端超時(shí)問(wèn)題

瀏覽:114日期:2023-02-19 15:13:04

參考的博客

問(wèn)題起因

做畢設(shè)的時(shí)候,使用到Lettuce連接redis,一段時(shí)間后不操作,再去操作redis,會(huì)報(bào)連接超時(shí)錯(cuò)誤,在其重連后又可使用。

原因是:Lettuce 自適應(yīng)拓?fù)渌⑿拢ˋdaptive updates)與定時(shí)拓?fù)渌⑿拢≒eriodic updates) 是默認(rèn)關(guān)閉的導(dǎo)致問(wèn)題的出現(xiàn)

解決的方案

1、重寫(xiě)連接工廠實(shí)例,更改其LettuceClientConfiguration 為開(kāi)啟拓?fù)涓?/p>

@Configurationpublic class RedisConfig { @Autowired private RedisProperties redisProperties; //這是固定的模板 //自己定義了一個(gè)RedisTemplate @Bean @SuppressWarnings('all') public RedisTemplate<String, Object> redisTemplate(@Qualifier('lettuceConnectionFactoryUvPv') RedisConnectionFactory factory) {RedisTemplate<String, Object> template = new RedisTemplate<>();template.setConnectionFactory(factory);//Json序列化配置Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class);ObjectMapper om = new ObjectMapper();om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);om.activateDefaultTyping(om.getPolymorphicTypeValidator());om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);//解決序列化問(wèn)題om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);jackson2JsonRedisSerializer.setObjectMapper(om);//String的序列化StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();//key采用String的序列化方式template.setKeySerializer(stringRedisSerializer);//hash的key也采用String的序列化方式template.setHashKeySerializer(stringRedisSerializer);//value序列化方式采用jacksontemplate.setValueSerializer(jackson2JsonRedisSerializer);//hash的value序列化方式采用jacksontemplate.setHashValueSerializer(jackson2JsonRedisSerializer);template.afterPropertiesSet();return template; } /** * 為RedisTemplate配置Redis連接工廠實(shí)現(xiàn) * LettuceConnectionFactory實(shí)現(xiàn)了RedisConnectionFactory接口 * UVPV用Redis * * @return 返回LettuceConnectionFactory */ @Bean(destroyMethod = 'destroy') //這里要注意的是,在構(gòu)建LettuceConnectionFactory 時(shí),如果不使用內(nèi)置的destroyMethod,可能會(huì)導(dǎo)致Redis連接早于其它Bean被銷(xiāo)毀 public LettuceConnectionFactory lettuceConnectionFactoryUvPv() throws Exception {List<String> clusterNodes = redisProperties.getCluster().getNodes();Set<RedisNode> nodes = new HashSet<>();clusterNodes.forEach(address -> nodes.add(new RedisNode(address.split(':')[0].trim(), Integer.parseInt(address.split(':')[1]))));RedisClusterConfiguration clusterConfiguration = new RedisClusterConfiguration();clusterConfiguration.setClusterNodes(nodes);clusterConfiguration.setPassword(RedisPassword.of(redisProperties.getPassword()));clusterConfiguration.setMaxRedirects(redisProperties.getCluster().getMaxRedirects());RedisStandaloneConfiguration redisStandaloneConfiguration=new RedisStandaloneConfiguration();redisStandaloneConfiguration.setHostName(redisProperties.getHost());redisStandaloneConfiguration.setPassword(redisProperties.getPassword());redisStandaloneConfiguration.setDatabase(redisProperties.getDatabase());redisStandaloneConfiguration.setPort(redisProperties.getPort());GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();poolConfig.setMaxIdle(redisProperties.getLettuce().getPool().getMaxIdle());poolConfig.setMinIdle(redisProperties.getLettuce().getPool().getMinIdle());poolConfig.setMaxTotal(redisProperties.getLettuce().getPool().getMaxActive());return new LettuceConnectionFactory(redisStandaloneConfiguration, getLettuceClientConfiguration(poolConfig)); } /** * 配置LettuceClientConfiguration 包括線(xiàn)程池配置和安全項(xiàng)配置 * * @param genericObjectPoolConfig common-pool2線(xiàn)程池 * @return lettuceClientConfiguration */ private LettuceClientConfiguration getLettuceClientConfiguration(GenericObjectPoolConfig genericObjectPoolConfig) {/*ClusterTopologyRefreshOptions配置用于開(kāi)啟自適應(yīng)刷新和定時(shí)刷新。如自適應(yīng)刷新不開(kāi)啟,Redis集群變更時(shí)將會(huì)導(dǎo)致連接異常! */ClusterTopologyRefreshOptions topologyRefreshOptions = ClusterTopologyRefreshOptions.builder()//開(kāi)啟自適應(yīng)刷新//.enableAdaptiveRefreshTrigger(ClusterTopologyRefreshOptions.RefreshTrigger.MOVED_REDIRECT, ClusterTopologyRefreshOptions.RefreshTrigger.PERSISTENT_RECONNECTS)//開(kāi)啟所有自適應(yīng)刷新,MOVED,ASK,PERSISTENT都會(huì)觸發(fā).enableAllAdaptiveRefreshTriggers()// 自適應(yīng)刷新超時(shí)時(shí)間(默認(rèn)30秒).adaptiveRefreshTriggersTimeout(Duration.ofSeconds(25)) //默認(rèn)關(guān)閉開(kāi)啟后時(shí)間為30秒// 開(kāi)周期刷新.enablePeriodicRefresh(Duration.ofSeconds(20)) // 默認(rèn)關(guān)閉開(kāi)啟后時(shí)間為60秒 ClusterTopologyRefreshOptions.DEFAULT_REFRESH_PERIOD 60 .enablePeriodicRefresh(Duration.ofSeconds(2)) = .enablePeriodicRefresh().refreshPeriod(Duration.ofSeconds(2)).build();return LettucePoolingClientConfiguration.builder().poolConfig(genericObjectPoolConfig).clientOptions(ClusterClientOptions.builder().topologyRefreshOptions(topologyRefreshOptions).build())//將appID傳入連接,方便Redis監(jiān)控中查看//.clientName(appName + '_lettuce').build(); }}

2、SpringBoot2.3.x后,可使用配置文件中開(kāi)啟lettuce的拓?fù)渌⑿?/p>

lettuce: pool:max-active: 20max-wait: -1msmax-idle: 10min-idle: 2 cluster:refresh: adaptive: true #20秒自動(dòng)刷新一次 period: 20

3、更改連接redis的連接方式,使用jedis連接

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

spring: redis: jedis: pool:max-active: ${redis.config.maxTotal:1024}max-idle: ${redis.config.maxIdle:50}min-idle: ${redis.config.minIdle:1}max-wait: ${redis.config.maxWaitMillis:5000} #lettuce: #pool:#max-active: ${redis.config.maxTotal:1024}#max-idle: ${redis.config.maxIdle:50}#min-idle: ${redis.config.minIdle:1}#max-wait: ${redis.config.maxWaitMillis:5000}

到此這篇關(guān)于SpringBoot整合redis使用Lettuce客戶(hù)端超時(shí)問(wèn)題的文章就介紹到這了,更多相關(guān)SpringBoot整合redis內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩1区在线| 日韩欧美精品| 怡红院精品视频在线观看极品| 国内不卡的一区二区三区中文字幕| 久久国际精品| 成人福利一区 | 亚洲一区二区动漫| 中文精品电影| 亚洲综合电影一区二区三区| 丝袜美腿亚洲色图| 国产伦精品一区二区三区在线播放| 国产视频网站一区二区三区| 精品一区二区三区中文字幕在线| 国产在线日韩精品| 欧美日韩一二三四| 欧美日韩亚洲国产精品| 久久免费视频66| 欧美日韩国产高清电影| 日韩专区视频网站| 精品视频99| 欧美成人午夜| 青青草91久久久久久久久| 国产一区国产二区国产三区| 91欧美在线| 亚洲视频国产精品| 国产精品久久久久久久免费观看| 午夜精品一区二区三区国产| 99在线观看免费视频精品观看| 国产精品片aa在线观看| 久久九九国产| 国产日韩欧美中文在线| 91亚洲国产| 蜜桃一区二区三区在线观看 | 久久久91麻豆精品国产一区| av中文资源在线资源免费观看| 亚洲高清影视| av中文字幕在线观看第一页 | 久久中文欧美| 亚洲一区二区三区高清不卡| 国产精品一区亚洲| 国产精品yjizz视频网| 亚洲久久在线| 久久久免费人体| 亚洲毛片在线免费| 日韩欧美1区| 麻豆一区二区三区| 国产乱人伦精品一区| 日本 国产 欧美色综合| 日本在线啊啊| 久久99青青| 日本电影久久久| 91精品国产福利在线观看麻豆| 国产亚洲一区二区三区啪| 青青久久av| 国产精品国产一区| 日韩二区在线观看| 日本欧美大码aⅴ在线播放| 好看不卡的中文字幕| 日本欧美不卡| 久久亚洲精品中文字幕蜜潮电影| 国产aⅴ精品一区二区三区久久| 91嫩草精品| 亚洲精品亚洲人成在线观看| 国产精品美女久久久| 欧美黑人巨大videos精品| 日本不卡视频在线| 乱人伦精品视频在线观看| 91精品精品| 国产一区二区三区亚洲综合| 日韩欧美午夜| 欧美日韩中文一区二区| 欧美另类专区| 黄色日韩在线| 欧美中文日韩| 日韩中文字幕一区二区三区| 少妇高潮一区二区三区99| 久久亚洲风情| 日韩高清在线不卡| 日韩二区三区四区| 美女久久精品| 四虎国产精品免费观看| 午夜日韩av| 日本aⅴ亚洲精品中文乱码 | 欧美一区激情| 久久精品理论片| 欧美激情福利| 亚洲午夜天堂| 午夜久久美女| 国产成年精品| 精品在线播放| 国产精品亚洲综合久久| 福利一区二区三区视频在线观看| 91精品国产经典在线观看| 国产精品地址| 国产亚洲一区在线| 日本成人在线不卡视频| 色一区二区三区| 亚洲免费网址| 日韩在线高清| 国产精品久久久久久av公交车| 午夜精品影院| 久久伊人久久| 国产欧美欧美| 日韩三级久久| 国产精品日韩| 91精品观看| 中文另类视频| 国产精品白浆| 亚洲视频二区| 老鸭窝毛片一区二区三区| 99久久精品网| 综合日韩av| 老牛影视精品| 韩日一区二区| 精品资源在线| 免费亚洲婷婷| 欧美日韩91| 久久久久久美女精品| 中文字幕av一区二区三区人| 麻豆精品蜜桃视频网站| 国产精品社区| 最近高清中文在线字幕在线观看1| 天海翼精品一区二区三区| 国产高清一区| 在线亚洲自拍| 樱桃成人精品视频在线播放| 欧洲毛片在线视频免费观看| 欧美综合另类| 丝袜亚洲另类欧美| 一本综合精品| 日本va欧美va欧美va精品| 日本欧美一区二区| 国产精品亚洲欧美一级在线| 国产精品v一区二区三区| 欧美黄页在线免费观看| 成人污污视频| 99成人在线视频| 99精品视频在线观看免费播放| 欧美午夜精彩| 日韩精品一级中文字幕精品视频免费观看 | 蜜桃成人av| 亚洲专区在线| 国产精久久久| 三级小说欧洲区亚洲区| 在线综合视频| 麻豆国产一区| 美女91精品| 日韩va亚洲va欧美va久久| 久久精品一区二区国产| 91超碰国产精品| 欧美日韩1区2区3区| 88xx成人免费观看视频库| 一区二区三区国产盗摄| 福利一区和二区| 婷婷视频一区二区三区| 国产在线观看91一区二区三区| 午夜欧美精品| 免费看久久久| 美国三级日本三级久久99| 精品一二三区| 亚洲乱码一区| 久久久久中文| 日韩精品三级| 欧美福利专区| 国产精选在线| 国产精品国码视频| 在线精品一区| 在线一区免费| 中文另类视频| 国产aa精品| 国产精品久久久久久久久久白浆 | 欧美成人精品一级| 日韩 欧美一区二区三区| 色综合www| 精品国产午夜| 69堂免费精品视频在线播放| 亚洲免费精品| 不卡一区综合视频| 91精品蜜臀一区二区三区在线| 国产精品99久久免费观看| 亚洲理论在线| 美日韩精品视频| 国产精品人人爽人人做我的可爱| 91精品啪在线观看国产18| 在线天堂中文资源最新版| 国产日韩在线观看视频| 日韩精品一级| 国产毛片精品| 麻豆国产欧美日韩综合精品二区| 日本精品久久| 欧美日韩夜夜| 国产欧美一区二区三区国产幕精品 | 国产一区二区三区亚洲| 久久只有精品| 97精品97| 午夜国产精品视频免费体验区| 国产一区清纯| 在线亚洲成人| 日韩欧美精品一区二区综合视频| 天海翼精品一区二区三区|