依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.3</version>
</dependency>
配置
spring.data.redis.host=localhost
spring.data.redis.port=6379
spring.data.redis.password=
spring.data.redis.timeout=5000
配置类
@Configuration
public class JedisConfig {
@Value("${spring.data.redis.host}")
private String host;
@Value("${spring.data.redis.port}")
private int port;
@Value("${spring.data.redis.password}")
private String password;
@Value("${spring.data.redis.timeout}")
private int timeout;
@Bean
public JedisPool jedisPool() {
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(10);
poolConfig.setMaxIdle(5);
poolConfig.setMinIdle(3);
poolConfig.setTestOnBorrow(true);
if (password != null && !password.isEmpty()) {
return new JedisPool(poolConfig, host, port, timeout, password);
} else {
return new JedisPool(poolConfig, host, port, timeout);
}
}
}
工具类
@Component
public class RedisUtil {
@Autowired
private JedisPool jedisPool;
public void set(String key, String value) {
try (Jedis jedis = jedisPool.getResource()) {
jedis.set(key, value);
}
}
public String get(String key) {
try (Jedis jedis = jedisPool.getResource()) {
return jedis.get(key);
}
}
public void setWithExpire(String key, String value, int seconds) {
try (Jedis jedis = jedisPool.getResource()) {
jedis.setex(key, seconds, value);
}
}
public void delete(String key) {
try (Jedis jedis = jedisPool.getResource()) {
jedis.del(key);
}
}
public boolean exists(String key) {
try (Jedis jedis = jedisPool.getResource()) {
return jedis.exists(key);
}
}
public void pipelineSet() {
try (Jedis jedis = jedisPool.getResource()) {
Pipeline pipeline = jedis.pipelined();
pipeline.setex("ccb", 30, "123");
pipeline.setex("ccb2", 30, "456");
pipeline.syncAndReturnAll();
}
}
}