前段时间,自学redis时,公司的项目中遇见了一个选定指定库的问题
spring整合redis的配置网上到处都是就不说了,一般都是下面的配置方法

        class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="xxx" />
        <property name="port" value="xxx" />
        <property name="password" value="xxx" />
        <property name="poolConfig">
            <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
                <property name="maxIdle" value="100" />
                <property name="maxWaitMillis" value="100000" />
                <property name="maxTotal" value="1000" />
                <property name="testOnBorrow" value="true" />
            </bean>
        </property>
    </bean>
 <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"
        scope="prototype">
        <property name="connectionFactory" ref="connectionFactory" />
    </bean>

可能还有指定默认数据库的配置,但是特殊数据需要保存到非指定的数据库时怎么办?
比如,默认使用的数据库dbindex 为0,有一个数据需要保存到dbindex 为2的数据库(特殊情况);
百度了很久都没有找到解决方案,都是说spring与redis整合的,后来查spring-data-redis的文档,文档上明确说明了支持选择数据库的命令,但是没有知道demo,自己根据api,用下面的代码,实现了选择数据库,代码如下:

RedisConnection redisConnection = redisTemplate.getConnectionFactory().getConnection();
        DefaultStringRedisConnection stringRedisConnection = new DefaultStringRedisConnection(redisConnection);
        stringRedisConnection.select(2);
        stringRedisConnection.set("test", "test");

虽然实现了切换数据库的目的,但是因为刚学习redis,不知道这种写法是否合适,有没有更好的写法,以后知道了,再来更新。

SpringBoot 统一时区的方案

系统采用多时区设计的时候,往往我们需要统一时区,需要统一的地方如下: 服务器(Tomcat服务) 数据库(JPA + Hibernate) 前端数据(前端采用Vuejs) ...

阅读全文

php无法连接mysql解决办法

前段时间把我的阿里云机器上面跑的服务修改成了docker部署,但是在升级了mysql容器之后发现另一个wordpress的站一直无法打开,提示无法连接数据库,这个很奇...

阅读全文

Spring Boot 容器选择 Undertow 而不是 Tomcat

Spring Boot内嵌容器支持Tomcat、Jetty、Undertow。为什么选择Undertow? 这里有一篇文章,时间 2017年1月26日发布的: Tomcat vs. Jetty vs. Undertow:...

阅读全文

欢迎留言