SpringBoot整合Redis相關(guān)配置

添加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);
            }
        }
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容