阅读更多
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;
}