SpringBoot2.x整合Redis缓存自定义序列化
2020-12-13 03:50
标签:ttl 就是 autowired data ram null rabbit tab gnu 一、导入Jar包 二、配置文件 三、application.yml 添加以下配置 四、在方法上使用@Cacheable(value = "MyRedis"/*上一级包名*/, key = "redis")进行添加缓存 (方法必须有返回值,返回值就是存入Redis的数据) 五、删除缓存: 方法一:删除指定Key SpringBoot2.x整合Redis缓存自定义序列化 标签:ttl 就是 autowired data ram null rabbit tab gnu 原文地址:https://www.cnblogs.com/castlechen/p/11090505.html
package com.liangjian.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializationContext;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import java.time.Duration;
/**
* reids配置类
*/
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport{
@Bean
public RedisTemplate
spring:
## Redis 配置
## Redis数据库索引(默认为0)
redis:
database: 0
## Redis服务器地址
host: 127.0.0.1
## Redis服务器连接端口
port: 6379
## Redis服务器连接密码(默认为空)
password:
## 连接超时时间(毫秒)
# timeout: 1800000
## 连接池最大连接数(使用负值表示没有限制)
jedis:
pool:
max-active: 8
## 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1
## 连接池中的最大空闲连接
max-idle: 8
## 连接池中的最小空闲连接
min-idle: 0
@Caching(evict = {
@CacheEvict(value = "MyRedis",key=“redis”)
})
方法二:删除指定文件下(value值)所有的Key@Caching(evict = {
@CacheEvict(value = "MyRedis",allEntries=true/*表示删除MyRedis文件下所有的缓存*/)
})
六、有时候通过注解方式无法满足需求,可以使用RedisTemplate对象进行存储,关键代码如下: //获取redisTemplate对象
@Autowired
private RedisTemplate redisTemplate;
//新增 参数分别为:Key名、存入的数据、过期时间、过期时间的类型(TimeUnit.SECONDS 是以秒计算)
redisTemplate.opsForValue().set(“token”,admins,1800, TimeUnit.SECONDS);
//获取 参数:Key值redisTemplate.opsForValue().get(“token”)
//删除 参数:Key值redisTemplate.delete("token");
文章标题:SpringBoot2.x整合Redis缓存自定义序列化
文章链接:http://soscw.com/essay/28393.html