当前位置:首页 » 文件管理 » 自定义缓存注解

自定义缓存注解

发布时间: 2025-05-10 23:40:06

㈠ 自定义rediscachemanager

在项目的Redis配置类RedisConfig中,自定义名为cacheManager的Bean组件,用于Redis缓存管理。

java

@Bean

public RedisCacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {

创建String和JSON格式序列化对象,分别用于缓存数据key和value的转换。

RedisSerializer strSerializer = new StringRedisSerializer();

Jackson2JsonRedisSerializer jacksonSeial = new Jackson2JsonRedisSerializer(Object.class);

解决查询缓存转换异常问题,使用ObjectMapper进行序列化。

ObjectMapper om = new ObjectMapper();

设置ObjectMapper的可见性和非最终类型,以适应序列化。

om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);

om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);

定制序列化方式,使用序列化对象对key和value进行序列化。

RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig()

.entryTtl(Duration.ofDays(1))

.serializeKeysWith(RedisSerializationContext.SerializationPair

.fromSerializer(strSerializer))

.serializeValuesWith(RedisSerializationContext.SerializationPair

.fromSerializer(jacksonSeial))

.disableCachingNullValues();

构建缓存管理器,设置缓存默认配置。

RedisCacheManager cacheManager = RedisCacheManager

.builder(redisConnectionFactory).cacheDefaults(config).build();

返回自定义的缓存管理器。

}

自定义的RedisCacheManager中,通过`@Bean`注解实现,包含对缓存数据key和value的序列化方式定制。使用`StringRedisSerializer`和`Jackson2JsonRedisSerializer`分别进行字符串和JSON格式的序列化,同时设定缓存有效期为1天。

完成自定义后,可进行测试以验证效果。使用自定义序列化机制的RedisCacheManager时,实体类无需实现序列化接口。

学习上述内容,可参考拉勾教育的《Java工程师高薪训练营》课程,该课程提供全面的知识体系和内推大厂服务。建议感兴趣的朋友也查看。

热点内容
高压洗车泡沫怎么配置 发布:2025-05-11 04:00:47 浏览:545
腾讯轻量服务器怎么使用 发布:2025-05-11 03:52:46 浏览:174
4位密码组合有多少种至少有一个0 发布:2025-05-11 03:44:03 浏览:338
八卦手指算法 发布:2025-05-11 03:23:32 浏览:281
编译成exe是什么意思 发布:2025-05-11 03:23:28 浏览:470
javaweb技术内幕 发布:2025-05-11 03:20:14 浏览:803
多台焊机变压器怎么配置 发布:2025-05-11 03:18:07 浏览:310
nmake编译 发布:2025-05-11 03:04:32 浏览:622
房产证加密码 发布:2025-05-11 02:49:17 浏览:341
服务器少个阵列卡盘符怎么找出来 发布:2025-05-11 02:34:07 浏览:636