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;
}