redis中,默认的数据库个数为16。索引为0-15
在使用spring-data-redis时,选择某个数据库,设置连接工厂的dbIndex即可。
例如,使用lettuce选择某个数据库,连接池和连接工厂配置如下(只配置一个会很奇怪,有时候能选择成功,有时候无效):

/**
* 生成连接池
*
* @param poolConfig 连接池配置
* @return DefaultLettucePool
*/
@Bean
public DefaultLettucePool getDefaultLettucePool(GenericObjectPoolConfig poolConfig) {
DefaultLettucePool defaultLettucePool = new DefaultLettucePool(hostname, port, poolConfig);
defaultLettucePool.setPassword(password);
defaultLettucePool.afterPropertiesSet();
//选择数据库
defaultLettucePool.setDatabase(dbIndex);
return defaultLettucePool;
}

/**
* lettuce 连接工厂配置
*
* @return LettuceConnectionFactory implement RedisConnectionFactory
*/
@Bean
public LettuceConnectionFactory getLettuceConnectionFactory(LettucePool pool) {
LettuceConnectionFactory factory = new LettuceConnectionFactory(pool);
//校验连接是否有效
factory.setValidateConnection(true);
//选择数据库
factory.setDatabase(dbIndex);
factory.setTimeout(maxWait);
factory.afterPropertiesSet();
return factory;
}

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:...

阅读全文

欢迎留言