为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于springboot下对mysqlmongodbredis支持ipv6的改造

2023-06-27 5页 doc 32KB 60阅读

用户头像 个人认证

is_856463

暂无简介

举报
基于springboot下对mysqlmongodbredis支持ipv6的改造     基于springboot下对mysql,mongodb,redis支持ipv6的改造                  忙活了好几天,度娘也查了好几天,最后在自己的服务器搞起了ipv6网络,最后终于搞定了对ipv6的改造工作。Mysql(这个最简单)1.修改my.cnf配置//修改mysql配置文件vim/etc/my.cnf//添加对ipv6的支持[mysqld]bind-address=:: 2.springboot中application.yml修改jdbc连接url:jdbc:mysql://address=...
基于springboot下对mysqlmongodbredis支持ipv6的改造
     基于springboot下对mysql,mongodb,redis支持ipv6的改造                  忙活了好几天,度娘也查了好几天,最后在自己的服务器搞起了ipv6网络,最后终于搞定了对ipv6的改造工作。Mysql(这个最简单)1.修改my.cnf配置//修改mysql配置文件vim/etc/my.cnf//添加对ipv6的支持[mysqld]bind-address=:: 2.springboot中application.yml修改jdbc连接url:jdbc:mysql://address=(protocol=tcp)(host=2409:8c20:399:1000::aea:7408)(port=3306)/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai3.启动项目,测试mysqlMongodb(一般)1.修改mongodb.conf文件,保存文件后重启进程即可bind_ip=0.0.0.0,::ipv6=true2.修改application.yml中mongodb连接配置spring:mongodb:url:2409:8c20:399:1000::aea:7407/27017,2409:8c20:399:1000::aea:7408/27017,2409:8c20:399:1000::aea:7409/27017database:testusername:adminpassword:1234563.重写mongodb连接packagecom.chinamobile.cmss.mg.ar.core.common.config;importcom.mongodb.*;importcom.mongodb.client.MongoClient;importcom.mongodb.client.MongoClients;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.data.mongodb.MongoDatabaseFactory;importorg.springframework.data.mongodb.core.MongoTemplate;importorg.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory;importjava.util.ArrayList;importjava.util.List;@ConfigurationpublicclassMongoConfig{@Value("${spring.mongodb.url}")privateStringurl;@Value("${spring.mongodb.database}")privateStringdatabase;@Value("${spring.mongodb.username}")privateStringusername;@Value("${spring.mongodb.password}")privateStringpassword;@BeanpublicMongoClientrawClient(){MongoCredentialcredential=MongoCredential.createCredential(username,database,password.toCharArray());String[]split=url.split(",");ListserverAddressList=newArrayList<>();for(Stringstr:split){String[]hostUrl=str.split("/");ServerAddressserverAddress=newServerAddress(hostUrl[0],Integer.parseInt(hostUrl[1]));serverAddressList.add(serverAddress);}MongoClientSettingssetting=MongoClientSettings.builder().credential(credential).applyToClusterSettings(builder->builder.hosts(serverAddressList)).build();returnMongoClients.create(setting);}@BeanpublicMongoDatabaseFactorymongoDatabaseFactory(){//注册一个MongoDatabaseFactory,连接到指定数据库returnnewSimpleMongoClientDatabaseFactory(rawClient(),database);}@BeanpublicMongoTemplatemongoTemplate(){//将MongoDatabaseFactory作为参数,注册MongoTemplatereturnnewMongoTemplate(mongoDatabaseFactory());}}4.启动项目,测试mongodbRedis(不好搞)我是弄成集群模式的,单机的不太清楚,勿怪1.修改集群中每个redis.confbind0.0.0.0::protected-modenoport7006daemonizeyesrequirepass123456cluster-enabledyescluster-config-filenodes-7006.conf2.启动redis集群模式,网上很多教学,就不在这里说了3.修改application.yml中redis连接配置spring.redis:nodes:2409:8c20:399:1000::aea:7404/6379,2409:8c20:399:1000::aea:7405/6379,2409:8c20:399:1000::aea:7406/6379,2409:8c20:399:1000::aea:7407/6379,2409:8c20:399:1000::aea:7408/6379,2409:8c20:399:1000::aea:7409/6379password:123456timeout:6000max-active:1000#连接池最大连接数(使用负值表示没有限制)max-wait:-1#连接池最大阻塞等待时间(使用负值表示没有限制)max-idle:10#连接池中的最大空闲连接min-idle:5#连接池中的最小空闲连接4.用jedisCluster重写redis连接packagecom.chinamobile.cmss.mg.ar.core.common;importorg.apache.commons.pool2.impl.GenericObjectPoolConfig;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.context.annotation.PropertySource;importredis.clients.jedis.HostAndPort;importredis.clients.jedis.JedisCluster;importjava.util.HashSet;importjava.util.Set;@Configuration@PropertySource("classpath:application.yml")publicclassJedisClusterConfig{@Value("${spring.redis.nodes}")privateStringclusterNodes;@Value("${spring.redis.password}")privateStringpassword;@Value("${spring.redis.timeout}")privateIntegertimeout;@Value("${spring.redis.max-active}")privateIntegermaxActive;@Value("${spring.redis.max-wait}")privateIntegermaxWait;@Value("${spring.redis.max-idle}")privateIntegermaxIdle;@Value("${spring.redis.min-idle}")privateIntegerminIdle;@BeanpublicJedisClustergetJedisCluster(){GenericObjectPoolConfigconfig=newGenericObjectPoolConfig();config.setMaxWaitMillis(maxWait);config.setMinIdle(minIdle);config.setMaxIdle(maxIdle);//获取集群ip数组;String[]serverArray=clusterNodes.split(",");Setnodes=newHashSet<>();for(StringipPort:serverArray){//分割ip和portString[]ipPortPair=ipPort.split("/",2);nodes.add(newHostAndPort(ipPortPair[0].trim(),Integer.valueOf(ipPortPair[1].trim())));}JedisClusterjedisCluster=newJedisCluster(nodes,timeout,timeout,1,password,config);returnjedisCluster;}}5.启动项目测试redis,搞了好几天,出了很多问。其中最重要的还是要确定自己本地的环境是否支持ipv6。推荐个网站,可以测试自己本地网络是否可以连接ipv6。TestyourIPv6. -全文完-
/
本文档为【基于springboot下对mysqlmongodbredis支持ipv6的改造】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索