自定义MyRedisCacheManager类
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.alibaba.fastjson.serializer.ValueFilter;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonRedisSerializer;
import org.springframework.data.redis.cache.*;
import org.springframework.data.redis.serializer.RedisSerializationContext;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import java.math.BigInteger;
import java.nio.charset.Charset;
import java.time.Duration;
import java.util.Map;
/**
* 重写redisCacheManager的方法
* 创建实例
*/
public class MyRedisCacheManager extends RedisCacheManager {
public MyRedisCacheManager(RedisCacheWriter cacheWriter, RedisCacheConfiguration defaultCacheConfiguration,
Map<String, RedisCacheConfiguration> initialCacheConfigurations) {
super(cacheWriter, defaultCacheConfiguration, initialCacheConfigurations);
}
/**
* 重点:可以自定义过期时间
* 重写的RedisCacheManager的方法
* @param name
* @return
*/
@Override
protected RedisCache getMissingCache(String name) {
RedisCache cache = null;
if (name.contains("#")){
String[] split = name.split("#");
cache = createRedisCache(split[0], getCacheConfigurationWithTtl(Long.valueOf(split[1])));
}else{
// 父类RedisCacheManager的方法
cache = super.getMissingCache(