<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
@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ù)。