JAVA常用工具類(一)--------------RedisConfig工具類
阿新 • • 發佈:2019-01-01
Redis快取用的越來越多,那麼我們是如何使用的Redis?
一,redis的視覺化app
這個是目前比較流行的redis視覺化app。
這是執行狀態的redis,一共擁有16個數據庫,預設儲存在db0裡面。具體儲存的格式,我在 Redis實用教程-----------菜鳥快速入門裡面做過介紹,感興趣的可以看看。
二,工具類的實現
1,首先在工具類的包裡面建立自己工具類
2,涉及到的redis引數和導包,我們需要在application.properties進行配置
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.8.0.RELEASE</version> </dependency>
@Value(value = "${redis.maxIdle}") private int redisMaxIdle; @Value(value = "${redis.maxTotal}") private int redisMaxTotal; @Value(value = "${redis.maxWaitMillis}") private int redisMaxWaitMillis; @Value(value = "${redis.ip}") private String redisIp; @Value(value = "${redis.master}") private String redisMaster; @Value(value = "${redis.timeOut}") private int redisTimeOut;
上面的這些引數,我已經做過修改,所以不是硬編碼,大家寫程式碼的時候也應該注意點,
3,注入bean的形式編寫程式碼(因為引數很多,只需要擷取自己需要的引數與就ok了)
JedisPoolConfig注入配置
@Bean public JedisPoolConfig jedisPoolConfig() { JedisPoolConfig jedisPoolConfig = null; try { jedisPoolConfig = new JedisPoolConfig(); jedisPoolConfig.setMaxIdle(redisMaxIdle); jedisPoolConfig.setMaxTotal(redisMaxTotal); jedisPoolConfig.setMaxWaitMillis(redisMaxWaitMillis); jedisPoolConfig.setTestOnBorrow(false); } catch (Exception e) { log.error("jedisPoolConfig有問題", e); } return jedisPoolConfig; }
RedisSentinelConfiguration配置
@Bean
public RedisSentinelConfiguration redisSentinelConfiguration() {
Set<String> sentinelHostAndPorts = new HashSet<>();
sentinelHostAndPorts.add(redisIp);
return new RedisSentinelConfiguration(redisMaster, sentinelHostAndPorts);
}
JedisConnectionFactory配置
@Bean
public JedisConnectionFactory jedisConnectionFactory(
JedisPoolConfig jedisPoolConfig, RedisSentinelConfiguration redisSentinelConfiguration{
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory(redisSentinelConfiguration, jedisPoolConfig);
jedisConnectionFactory.setTimeout(redisTimeOut);
jedisConnectionFactory.setDatabase(12);
return jedisConnectionFactory;
}
RedisTemplate配置
@Bean
public RedisTemplate<String, String> redisTemplate(JedisConnectionFactory jedisConnectionFactory) {
RedisTemplate<String, String> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(jedisConnectionFactory);
return redisTemplate;
}
4使用的時候可以new,也可以注入
@Autowired
private RedisTemplate<String, String> redisTemplate;
RedisTemplate<String,String> redisTemplate =new RedisTemplate<>();
private RedisTemplate<String,String> redisTemplate;