當前位置:首頁 » 文件管理 » 自定義緩存註解

自定義緩存註解

發布時間: 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工程師高薪訓練營》課程,該課程提供全面的知識體系和內推大廠服務。建議感興趣的朋友也查看。

熱點內容
nmake編譯 發布:2025-05-11 03:04:32 瀏覽:621
房產證加密碼 發布:2025-05-11 02:49:17 瀏覽:340
伺服器少個陣列卡盤符怎麼找出來 發布:2025-05-11 02:34:07 瀏覽:635
鬥地主源碼開發 發布:2025-05-11 02:24:07 瀏覽:366
雲伺服器怎麼設置攻擊 發布:2025-05-11 02:22:09 瀏覽:826
python嵌套for循環 發布:2025-05-11 01:51:44 瀏覽:228
安卓怎麼取消後台限制 發布:2025-05-11 01:45:45 瀏覽:258
一鍵搭建sk5伺服器 發布:2025-05-11 01:40:09 瀏覽:514
鴻業acs加密鎖模擬器 發布:2025-05-11 01:38:49 瀏覽:938
神廟逃亡2安卓版怎麼玩 發布:2025-05-11 01:38:05 瀏覽:163