美文网首页SpringBoot学习
074-Redis多数据源

074-Redis多数据源

作者: 郭艺宾 | 来源:发表于2018-12-14 20:17 被阅读113次

项目中有用到redis多数据源的情况,因此准备写一下。很遗憾,没有第三方现成的多数据源starter,自己准备试着写一个,在完成前,先用Java配置实现。

首先创建一个项目:

引入了web和redis两个组件。

启动类不用做任何修改,看一下配置文件:

只做了简单的多数据源配置,redis自动配置的数据源没有使用。简单的配置就做好了,接下来看redis多数据源配置类。

现在使用的是1.5.x版本的springboot,底层使用的是Jedis连接redis,原生的jedis很简单,用参数创建对象后就可以对redis进行操作:

运行结果:

springboot中最经常使用的是StringRedisTemplate进行redis操作,StringRedisTemplate的创建也很简单,在对象中初始化一个连接池JedisConnectionFactory就可以了。连接池的创建很简单:

如果有需要,还可以初始化一些池数据:

连接池的其它属性设置可以自行查询学习。

最后再加一个调用:

这个方法将在所有的属性被初始化后调用。但是会在init前调用。但是如果是延迟加载的话,则马上执行。

注意!如果调用这个方法会出现空指针!

最后将连接池设置到 StringRedisTemplate 中,就可以了

但是这样直接在main方法中运行会报错,把上面所有的内容配置到Java的配置类中:

这样多数据源就配置好了,因为用的名字区分,所以注入使用的时候要使用名字注入:

启动执行两个接口:

在数据库中添加也成功:

代码地址: https://gitee.com/blueses/spring-boot-demo

相关文章

网友评论

    本文标题:074-Redis多数据源

    本文链接:https://www.haomeiwen.com/subject/ivcnhqtx.html