使用spring-data-redis選用特定的資料庫
阿新 • • 發佈:2019-01-28
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;
}