配置redis的序列化,注入RedisTemplate方式
更新時(shí)間:2023年12月20日 09:34:16 作者:小晨想好好學(xué)習(xí)
這篇文章主要介紹了配置redis的序列化,注入RedisTemplate方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
配置redis的序列化,注入RedisTemplate
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
RedisSerializer<String> redisSerializer = new StringRedisSerializer();
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);
template.setConnectionFactory(factory);
//key序列化方式
template.setKeySerializer(redisSerializer);
//value序列化
template.setValueSerializer(jackson2JsonRedisSerializer);
//value hashmap序列化
template.setHashValueSerializer(jackson2JsonRedisSerializer);
return template;
}
使用redis,必須配置redis序列化類
package com.example.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
// key 采用StringRedisSerializer
// value 采用GenericJackson2JsonRedisSerializer
RedisTemplate<String, Object> template = new RedisTemplate<>();
// 關(guān)閉啟用默認(rèn)配置
template.setEnableDefaultSerializer(false);
// 連接工廠
template.setConnectionFactory(factory);
// key 序列化方式
template.setKeySerializer(RedisSerializer.string());
// value 序列化方式
template.setValueSerializer(RedisSerializer.json());
// hash key 序列化方式
template.setHashKeySerializer(RedisSerializer.string());
// hash value 序列化方式
template.setHashValueSerializer(RedisSerializer.json());
// 配置完成
template.afterPropertiesSet();
return template;
}
} <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.4.0</version>
</dependency>總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- RedisTemplate默認(rèn)序列化方式顯示中文亂碼的解決
- RedisTemplate序列化設(shè)置的流程和具體步驟
- redis redistemplate序列化對(duì)象配置方式
- Spring?boot?RedisTemplate?序列化服務(wù)化配置方式
- Springboot下RedisTemplate的兩種序列化方式實(shí)例詳解
- Springboot?引入?Redis?并配置序列化并封裝RedisTemplate?
- Redis之RedisTemplate配置方式(序列和反序列化)
- 解決RedisTemplate的key默認(rèn)序列化器的問(wèn)題
- Spring的RedisTemplate的json反序列泛型丟失問(wèn)題解決
相關(guān)文章
Redis數(shù)據(jù)庫(kù)的使用場(chǎng)景介紹(避免誤用Redis)
這篇文章主要介紹了Redis數(shù)據(jù)庫(kù)的使用場(chǎng)景介紹(避免誤用Redis),本文用簡(jiǎn)要的語(yǔ)言總結(jié)了Redis數(shù)據(jù)庫(kù)的適應(yīng)場(chǎng)合,人而避免錯(cuò)誤的使用它而產(chǎn)生昂貴的維護(hù)代價(jià),需要的朋友可以參考下2015-03-03
RedisTemplate訪問(wèn)Redis的更好方法
這篇文章主要為大家介紹了RedisTemplate訪問(wèn)Redis的更好方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
使用redis-cli命令實(shí)現(xiàn)redis crud操作過(guò)程
線上Redis key需刪除但無(wú)法直連客戶端,可用redis-cli命令操作,步驟包括定位服務(wù)、登錄、選擇數(shù)據(jù)庫(kù)及執(zhí)行DEL命令,適用于無(wú)圖形工具的環(huán)境2025-08-08
redis安裝和配置_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了redis安裝和配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
redis底層數(shù)據(jù)結(jié)構(gòu)之ziplist實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了redis底層數(shù)據(jù)結(jié)構(gòu)之ziplist實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Redis中緩存和數(shù)據(jù)庫(kù)雙寫數(shù)據(jù)不一致的原因及解決方案
這篇文章主要介紹了Redis中緩存和數(shù)據(jù)庫(kù)雙寫數(shù)據(jù)不一致的原因及解決方案,文中通過(guò)圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-03-03

