springboot:redis(jedis)

application.properties
==========================================
redis.host=host
redis.port=6379
redis.timeout=2000
redis.password=pwd

#最大分配的对象数
redis.pool.maxTotal=1024
#最大能够保持idel状态的对象数
redis.pool.maxIdle=200
redis.pool.minIdle=10
#当池内没有返回对象时,最大等待时间
redis.pool.maxWait=1000
#当调用borrow Object方法时,是否进行有效性检查
redis.pool.testOnBorrow=true
==========================================
RedisConfiguration.java
==========================================
@Configuration
public class RedisConfiguration {

    @Bean(name= "redis.pool.config")
    public JedisPoolConfig jedisPoolConfig (@Value("${redis.pool.maxTotal}")int maxTotal,
                                            @Value("${redis.pool.maxIdle}")int maxIdle,
                                            @Value("${redis.pool.minIdle}")int minIdle,
                                            @Value("${redis.pool.testOnBorrow}")boolean testOnBorrow,
                                            @Value("${redis.pool.maxWait}")int maxWaitMillis) {
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(maxTotal);
        config.setMaxIdle(maxIdle);
        config.setMaxIdle(minIdle);
        config.setTestOnBorrow(testOnBorrow);
        config.setMaxWaitMillis(maxWaitMillis);
        return config;
    }

    @Bean(name= "redis.pool")
    @Autowired
    public JedisPool jedisPool(@Qualifier("redis.pool.config") JedisPoolConfig config,
                               @Value("${redis.host}")String host,
                               @Value("${redis.port}")int port,
                               @Value("${redis.timeout}")int timeout,
                               @Value("${redis.password}")String password) {
        return new JedisPool(config, host, port, timeout, password);
    }

}
==========================================
RedisClient.java
==========================================
@Component
public class RedisClient {

    @Autowired
    private JedisPool jedisPool;

    public void set(String key, String value) throws Exception {
        Jedis jedis = null;
        try {
            jedis = jedisPool.getResource();
            jedis.set(key, value);
        } finally {
            //返还到连接池
            jedis.close();
        }
    }

    public String get(String key) throws Exception  {

        Jedis jedis = null;
        try {
            jedis = jedisPool.getResource();
            return jedis.get(key);
        } finally {
            //返还到连接池
            jedis.close();
        }
    }

}
==========================================
CityServiceImpl.java
==========================================
    private static String key = "TEST_KEY_12381290380";

    @Autowired
    RedisClient redisClient;

    public City findCityById(Long id) {
        try {
            System.out.println(redisClient.get(key));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public Long saveCity(City city) {
        try {
            redisClient.set(key, "SSSSS");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

猜你喜欢

转载自samson870830.iteye.com/blog/2382378
今日推荐