Redis key-value乱码的解决
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@SpringBootConfiguration
public class RedisConfig extends CachingConfigurerSupport {
/**
* 注入 RedisConnectionFactory
*/
@Autowired
private RedisConnectionFactory redisConnectionFactory;
@Bean
public CacheManager cacheManager(RedisConnectionFactory factory) {
return RedisCacheManager.builder(factory).build();
}
@Bean
public RedisTemplate String, Object functionDomainRedisTemplate() {
RedisTemplate String, Object redisTemplate = new RedisTemplate ();
redisTemplate.setConnectionFactory(redisConnectionFactory);
// 使用Jackson2JsonRedisSerialize 替换默认序列化
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
objectMapper.activateDefaultTyping(objectMapper.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
// 设置value的序列化规则和 key的序列化规则
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(stringRedisSerializer);
redisTemplate.setHashKeySerializer(stringRedisSerializer);
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}
当使用opsForValue() 存取String类型key,value情形
@Autowiredprivate StringRedisTemplate redisTemplate;
当使用opsForValue() 存取String类型key,自定义对象value情形
@Autowiredprivate RedisTemplate String, Object redisTemplate;
当使用hash结构时
@Autowiredprivate RedisTemplate String, Object redisTemplate;
到此这篇关于Redis key-value乱码的解决的文章就介绍到这了,更多相关Redis key-value乱码内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 Redis key-value乱码的解决
相关文章
- Redis中的信号量功能(redis信号量)
- 利用Redis实现高性能消息中间件(redis作为消息中间件)
- 时间设置解决Java中Redis Key过期时间设置问题(redisjava过期)
- Exploring the Key Characteristics of Redis: A Comprehensive Overview(redis特点)
- 解决Redis主从延迟化解分布式系统延迟问题(解决redis主从延迟)
- 了解决Redis系统服务无法启动问题(系统服务redis启动不)
- 火爆的实时直播用 Redis 开启新体验(直播 redis)
- 方案物联网深度定制精准驱动,Redis管理(物联网redis解决)
- 解放Redis解决Redis连接速度问题(如何解决redis连接慢)
- 如何关闭Redis客户端连接(关闭redis客户端连接)
- Redis解锁全局主键的神秘之门(全局主键 redis)
- 一键导出Redis中的所有Key(导出redis所有key)
- 启动解决Redis无法启动的困难(启动一个redis 无法)
- 如何稳定解决Redis脑裂问题(如何解决redis脑裂)
- 使用Redis队列和订阅服务解决性能问题(redis队列和订阅)
- 解决Redis锁超时引发的问题(redis锁超时问题)
- Redis实现无重复点赞(redis重复点赞实现)
- Redis解决订单库存管理问题(redis 订单库存)
- Redis 计数器精度严重欠缺警惕(redis 计数器不准确)
- 利用Redis消除原有的竞争痛点(redis解决竞争问题)
- 使用Redis自增编号解决数据编号问题(redis自增编号)
- 解决Redis自增上限问题(redis自增上限)