SpringBoot整合Redis及Redis工具類

  • 加入Redis相關(guān)依賴
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency> 
<!-- lettuce pool 緩存連接池 -->
       <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-pool2</artifactId>
           <version>2.6.2</version>
       </dependency>
<!-- jackson json 優(yōu)化緩存對(duì)象序列化 -->
       <dependency>
           <groupId>com.fasterxml.jackson.core</groupId>
           <artifactId>jackson-core</artifactId>
           <version>2.8.10</version>
       </dependency>
  • 編寫配置類
@Configuration
@EnableCaching //啟用緩存

public class RedisConfig extends CachingConfigurerSupport{
    @Bean
    public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory factory) {
        //配置redisTemplate

        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(factory);
        redisTemplate.setKeySerializer(new Jackson2JsonRedisSerializer());
        redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer());

        redisTemplate.afterPropertiesSet();
        return redisTemplate;//Str
    }
}
  • 添加配置文件及里面的配置
#redis
# Redis服務(wù)器地址
spring.redis.host=10.11.12.237
# Redis服務(wù)器連接端口
spring.redis.port=6379
# Redis數(shù)據(jù)庫(kù)索引(默認(rèn)為0)
spring.redis.database=0
# Redis服務(wù)器連接密碼(默認(rèn)為空)
spring.redis.password=
# 連接超時(shí)時(shí)間(毫秒)
spring.redis.timeout=10000
spring.redis.cluster.max-redirects=8
# Lettuce
# 連接池最大連接數(shù)(使用負(fù)值表示沒有限制)
spring.redis.lettuce.pool.max-active=8
# 連接池最大阻塞等待時(shí)間(使用負(fù)值表示沒有限制)
spring.redis.lettuce.pool.max-wait=1ms
# 連接池中的最大空閑連接
spring.redis.lettuce.pool.max-idle=8
# 連接池中的最小空閑連接
spring.redis.lettuce.pool.min-idle=0
  • 編寫緩存操作提供類RedisService
@Componet
public class RedisServiceImp extends RedisService {

    @Autowired
     RedisTemplate<String, Object> redisTemplate;

    /**
     * 讀取緩存
     *
     * @param key
     * @return
     */
    public String get( String key) {
        String value = null;
        if(this.redisTemplate.hasKey(key)){
            value = (String) redisTemplate.opsForValue().get(key)
        }


        return value;
    }



    /**
     * 寫入緩存
     *
     * @param key
     * @param value
     * @return
     */
    public void set( String key, String value) {

        redisTemplate.opsForValue().set(key, value);
    }


   
    public void set(String key, String value, long timeOut, TimeUnit timeUnit) {

        redisTemplate.opsForValue().set(key, value, timeOut, timeUnit);
    }
}
?著作權(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)容