欢迎访问 生活随笔!

凯发ag旗舰厅登录网址下载

当前位置: 凯发ag旗舰厅登录网址下载 > 前端技术 > javascript >内容正文

javascript

spring boot连接多个redis库配置方案及代码示例 -凯发ag旗舰厅登录网址下载

发布时间:2025/1/21 javascript 16 豆豆
凯发ag旗舰厅登录网址下载 收集整理的这篇文章主要介绍了 spring boot连接多个redis库配置方案及代码示例 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
import com.zxl.common.utils.json.fastjsonredisserializer; import org.springframework.beans.factory.annotation.value; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; import org.springframework.data.redis.connection.redisconnectionfactory; import org.springframework.data.redis.connection.redispassword; import org.springframework.data.redis.connection.redisstandaloneconfiguration; import org.springframework.data.redis.connection.jedis.jedisclientconfiguration; import org.springframework.data.redis.connection.jedis.jedisconnectionfactory; import org.springframework.data.redis.core.redistemplate; import org.springframework.data.redis.serializer.stringredisserializer; import redis.clients.jedis.jedispoolconfig;import java.time.duration;@configuration public class dictredisconfiglocal {@value("${spring.dictredis.host}")private string host;@value("${spring.dictredis.port}")private int port;@value("${spring.dictredis.password}")private string password;@value("${spring.dictredis.maxtotal}")private integer maxtotal;@value("${spring.dictredis.maxidle}")private integer maxidle;@value("${spring.dictredis.maxwaitmillis}")private integer maxwaitmillis;@value("${spring.dictredis.timeout}")private int timeout;@value("${spring.dictredis.database}")private int database;@bean(name = "dictredis")public redisconnectionfactory cacheredisconnectionfactory() {jedispoolconfig poolconfig = new jedispoolconfig();poolconfig.setmaxtotal(maxtotal);poolconfig.setmaxidle(maxidle);poolconfig.setmaxwaitmillis(maxwaitmillis);poolconfig.settestonborrow(true);poolconfig.settestonreturn(false);poolconfig.settestwhileidle(true);jedisclientconfiguration clientconfig = jedisclientconfiguration.builder().usepooling().poolconfig(poolconfig).and().readtimeout(duration.ofmillis(timeout)).build();// 单点redisredisstandaloneconfiguration redisconfig = new redisstandaloneconfiguration();// 哨兵redis// redissentinelconfiguration redisconfig = new redissentinelconfiguration();// 集群redis// redisclusterconfiguration redisconfig = new redisclusterconfiguration();redisconfig.sethostname(host);redisconfig.setpassword(redispassword.of(password));redisconfig.setport(port);redisconfig.setdatabase(database);return new jedisconnectionfactory(redisconfig, clientconfig);}/*** 配置redistemplate 注入方式使用@resource(name="") 方式注入** @return*/@bean(name = "dictredislocaltemplate")public redistemplate cacheredistemplate() {redistemplate template = new redistemplate<>();/* //使用fastjson序列化fastjsonredisserializer fastjsonredisserializer = new fastjsonredisserializer(object.class);// value值的序列化采用fastjsonredisserializertemplate.setvalueserializer(fastjsonredisserializer);template.sethashvalueserializer(fastjsonredisserializer);// key的序列化采用stringredisserializertemplate.setkeyserializer(new stringredisserializer());template.sethashkeyserializer(new stringredisserializer());*/ //template.setconnectionfactory(cacheredisconnectionfactory());return template;} // // /** // * 对hash类型的数据操作 // * // * @param redistemplate // * @return // */ // @bean(name = "dictredishashoperations") // public hashoperations hashoperations(redistemplate redistemplate) { // return redistemplate.opsforhash(); // } // // /** // * 对redis字符串类型数据操作 // * // * @param redistemplate // * @return // */ // @bean(name = "dictredisvalueoperations") // public valueoperations valueoperations(redistemplate redistemplate) { // return redistemplate.opsforvalue(); // } // // /** // * 对链表类型的数据操作 // * // * @param redistemplate // * @return // */ // @bean(name = "dictredislistoperations") // public listoperations listoperations(redistemplate redistemplate) { // return redistemplate.opsforlist(); // } // // /** // * 对无序集合类型的数据操作 // * // * @param redistemplate // * @return // */ // @bean(name = "dictredissetoperations") // public setoperations setoperations(redistemplate redistemplate) { // return redistemplate.opsforset(); // } // // /** // * 对有序集合类型的数据操作 // * // * @param redistemplate // * @return // */ // @bean(name = "dictrediszsetoperations") // public zsetoperations zsetoperations(redistemplate redistemplate) { // return redistemplate.opsforzset(); // } } import com.zxl.common.utils.json.fastjsonredisserializer; import org.springframework.beans.factory.annotation.value; import org.springframework.boot.autoconfigure.condition.conditionalonclass; import org.springframework.boot.autoconfigure.data.redis.redisproperties; import org.springframework.boot.context.properties.enableconfigurationproperties; import org.springframework.cache.annotation.enablecaching; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; import org.springframework.context.annotation.primary; import org.springframework.data.redis.cache.rediscacheconfiguration; import org.springframework.data.redis.cache.rediscachemanager; import org.springframework.data.redis.cache.rediscachewriter; import org.springframework.data.redis.connection.redisconnectionfactory; import org.springframework.data.redis.connection.redispassword; import org.springframework.data.redis.connection.redisstandaloneconfiguration; import org.springframework.data.redis.connection.jedis.jedisclientconfiguration; import org.springframework.data.redis.connection.jedis.jedisconnectionfactory; import org.springframework.data.redis.core.*; import org.springframework.data.redis.serializer.redisserializationcontext; import org.springframework.data.redis.serializer.stringredisserializer; import redis.clients.jedis.jedispoolconfig;import java.time.duration;@configuration @enablecaching @conditionalonclass(redisoperations.class) @enableconfigurationproperties(redisproperties.class) public class redisconfig {@value("${spring.setredis.host}")private string host;@value("${spring.setredis.port}")private int port;@value("${spring.setredis.password}")private string password;@value("${spring.setredis.maxtotal}")private integer maxtotal;@value("${spring.setredis.maxidle}")private integer maxidle;@value("${spring.setredis.maxwaitmillis}")private integer maxwaitmillis;@value("${spring.setredis.timeout}")private int timeout;@value("${spring.setredis.database}")private int database;@primary@beanpublic redisconnectionfactory cachebusinessredisconnectionfactory() {jedispoolconfig poolconfig = new jedispoolconfig();poolconfig.setmaxtotal(maxtotal);poolconfig.setmaxidle(maxidle);poolconfig.setmaxwaitmillis(maxwaitmillis);poolconfig.settestonborrow(true);poolconfig.settestonreturn(false);poolconfig.settestwhileidle(true);jedisclientconfiguration clientconfig = jedisclientconfiguration.builder().usepooling().poolconfig(poolconfig).and().readtimeout(duration.ofmillis(timeout)).build();// 单点redisredisstandaloneconfiguration redisconfig = new redisstandaloneconfiguration();// 哨兵redis// redissentinelconfiguration redisconfig = new redissentinelconfiguration();// 集群redis// redisclusterconfiguration redisconfig = new redisclusterconfiguration();redisconfig.sethostname(host);redisconfig.setpassword(redispassword.of(password));redisconfig.setport(port);redisconfig.setdatabase(database);return new jedisconnectionfactory(redisconfig, clientconfig);}/*** 管理缓存 springboot2** @param redistemplate* @return*/@beanpublic rediscachemanager rediscachemanager(redistemplate redistemplate) {//初始化一个rediscachewriterrediscachewriter rediscachewriter = rediscachewriter.nonlockingrediscachewriter(redistemplate.getconnectionfactory());rediscacheconfiguration rediscacheconfiguration = rediscacheconfiguration.defaultcacheconfig().serializevalueswith(redisserializationcontext.serializationpair.fromserializer(redistemplate.getvalueserializer()));//设置序列化//设置默认超过期时间是30秒rediscacheconfiguration.entryttl(duration.ofseconds(30));//初始化rediscachemanagerrediscachemanager cachemanager = new rediscachemanager(rediscachewriter, rediscacheconfiguration);return cachemanager;}@beanpublic redistemplate redistemplate() {redistemplate template = new redistemplate<>();// jackson2jsonredisserializer
网站地图