JAVA常用工具类(一)--------------RedisConfig工具类

Redis缓存用的越来越多,那么我们是如何使用的Redis?

 

一,redis的可视化app

这个是目前比较流行的redis可视化app。

JAVA常用工具类(一)--------------RedisConfig工具类_第1张图片

这是运行状态的redis,一共拥有16个数据库,默认存储在db0里面。具体存储的格式,我在 Redis实用教程-----------菜鸟快速入门里面做过介绍,感兴趣的可以看看。

二,工具类的实现

1,首先在工具类的包里面创建自己工具类

2,涉及到的redis参数和导包,我们需要在application.properties进行配置

            
				redis.clients
				jedis
				2.9.0
			
			
				org.springframework.data
				spring-data-redis
				1.8.0.RELEASE
			
  @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;

 

上面的这些参数,我已经做过修改,所以不是硬编码,大家写代码的时候也应该注意点,

JAVA常用工具类(一)--------------RedisConfig工具类_第2张图片

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 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 redisTemplate(JedisConnectionFactory jedisConnectionFactory) {
        RedisTemplate redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(jedisConnectionFactory);
        return redisTemplate;
    }

4使用的时候可以new,也可以注入

 @Autowired
    private RedisTemplate redisTemplate;
 RedisTemplate redisTemplate =new RedisTemplate<>();
 private RedisTemplate redisTemplate;

 

你可能感兴趣的:(JAVA代码常用工具类)