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;