Redis 学习笔记2

springCache+redis

 

application.properties 文件

 

#redis配置同学习笔记1

 

#cache配置缓存相关

cache.default.expire-time=200

cache.expire-time=180

cache.cacheName=test

 

RedisCacheConfig.java

 

 

@Configuration

@EnableCaching

public class RedisCacheConfig {

 

@Value("${cache.default.expire-time}")

private int defaultExpireTime;

@Value("${cache.expire-time}")

private int cacheExpireTime;

@Value("${cache.cacheName}")

private String cacheName;

 

/**

 * 缓存管理器

 *

 * @param redisConnectionFactory

 * @return

 */

@Bean

public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {

// 生成一个默认配置,通过config对象即可对缓存进行自定义配置

RedisCacheConfiguration defaultCacheConfig = RedisCacheConfiguration.defaultCacheConfig();

// 设置缓存管理器管理的缓存的默认过期时间

defaultCacheConfig = defaultCacheConfig.entryTtl(Duration.ofSeconds(defaultExpireTime))

// 设置 key为string序列化

.serializeKeysWith(

RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()))

// 设置value为json序列化

.serializeValuesWith(RedisSerializationContext.SerializationPair

.fromSerializer(new GenericJackson2JsonRedisSerializer()))

// 不缓存空值

.disableCachingNullValues();

 

// 设置一个初始化的缓存空间set集合

Set<String> cacheNames = new HashSet<>();

cacheNames.add(cacheName);

 

// 对每个缓存空间应用不同的配置

Map<String, RedisCacheConfiguration> configMap = new HashMap<>();

configMap.put(cacheName, defaultCacheConfig.entryTtl(Duration.ofSeconds(cacheExpireTime)));

 

// 使用自定义的缓存配置初始化一个cacheManager

RedisCacheManager cacheManager = RedisCacheManager.builder(redisConnectionFactory)

// 注意这两句的调用顺序,一定要先调用该方法设置初始化的缓存名,再初始化相关的配置

.cacheDefaults(defaultCacheConfig).initialCacheNames(cacheNames)

.withInitialCacheConfigurations(configMap).build();

return cacheManager;

}

 

}

 

 

@Cacheable(value="keyName")

在接口添加注解

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值