添加Redis依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</dependency>
在yml文件添加配置
redis:
port: 6379
database: 2
timeout: 3000
maxWaitMillis: 3000
pool:
minIdle: 10
maxIdle: 20
maxTotal: 50
配置RedisTemplate
在Spring中,可以使用RedisTemplate類來操作Redis。可以通過配置類或XML配置文件來創(chuàng)建和配置RedisTemplate。以下是使用Java配置類的示例:
@SpringBootConfiguration
public class RedisConfig {
@Value("${redis.host}")
private String host;
@Value("${redis.port}")
private Integer port;
@Value("${redis.database}")
private int database;
@Value("${redis.maxWaitMillis}")
private long maxWaitMillis;
@Value("${redis.timeout}")
private int timeout;
@Value("${redis.pool.maxTotal}")
private Integer maxTotal;
@Value("${redis.pool.maxIdle}")
private Integer maxIdle;
@Value("${redis.pool.minIdle}")
private Integer minIdle;
@Bean //這個(gè)注解注入工廠的名稱是方法名
public JedisPool jedisPoolFactory(){
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(maxIdle);//最大空閑連接
jedisPoolConfig.setMaxTotal(maxTotal);//最大連接數(shù)
jedisPoolConfig.setMinIdle(minIdle);//最小連接數(shù)
jedisPoolConfig.setMaxWaitMillis(maxWaitMillis);
// 連接耗盡時(shí)是否阻塞, false報(bào)異常,true阻塞直到超時(shí), 默認(rèn)true
jedisPoolConfig.setBlockWhenExhausted(true);
// 是否啟用pool的jmx管理功能, 默認(rèn)true
jedisPoolConfig.setJmxEnabled(true);
JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout,null,database);
return jedisPool;
}
}
創(chuàng)建RedisUtils工具類
@Slf4j
@Component
public class RedisUtils {
@Autowired
private JedisPool jedisPool;
/**
* 獲取字符串元素
* @param key
* @return
*/
public String get(String key) {
String value=null;
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
value = jedis.get(key);
} catch (Exception e) {
log.error("", e);
} finally {
try {
jedis.close();
} catch (Exception e) {
log.error("", e);
}
}
return value;
}
/**
* set字符串元素
* @param key
* @return
*/
public void set(String key,String value) {
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
jedis.set(key,value);
} catch (Exception e) {
log.error("", e);
} finally {
try {
jedis.close();
} catch (Exception e) {
log.error("", e);
}
}
}
}