springboot使用redis缓存乱码(key或者value乱码)的解决
更新时间:2023年11月23日 15:34:30 作者:追梦者123
在通过springboot缓存数据的时候,发现key是一堆很不友好的东西,本文主要介绍了springboot使用redis缓存乱码(key或者value乱码)的解决,感兴趣的可以了解一下
如果查看redis中的值是这样


创建一个配置类就可以解决
package com.deka.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.data.redis.core.script.RedisScript;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.scripting.support.ResourceScriptSource;
@Configuration
public class RedisConfig {
@Autowired
private RedisConnectionFactory redisConnectionFactory;
@Autowired
private RedisTemplate redisTemplate;
@Bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory factory) {
redisTemplate.setConnectionFactory(factory);
Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<Object>(Object.class);
redisTemplate.setDefaultSerializer(serializer);
//设置序列化Key的实例化对象
redisTemplate.setKeySerializer(new StringRedisSerializer());
//设置序列化Value的实例化对象
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return redisTemplate;
}
@Bean
public RedisMessageListenerContainer redisContainer() {
final RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(redisConnectionFactory);
return container;
}
@Bean
public RedisScript<Long> limitRedisScript() {
DefaultRedisScript<Long> redisScript = new DefaultRedisScript<>();
redisScript.setScriptSource(new ResourceScriptSource(new ClassPathResource("scripts/limit.lua")));
redisScript.setResultType(Long.class);
return redisScript;
}
}到此这篇关于springboot使用redis缓存乱码(key或者value乱码)的解决的文章就介绍到这了,更多相关springboot redis缓存乱码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- SpringBoot项目中使用redis缓存的方法步骤
- SpringBoot 开启Redis缓存及使用方法
- springboot+mybatis+redis 二级缓存问题实例详解
- 浅谈SpringBoot集成Redis实现缓存处理(Spring AOP实现)
- SpringBoot2整合Redis缓存三步骤代码详解
- SpringBoot+SpringCache实现两级缓存(Redis+Caffeine)
- 详解SpringBoot集成Redis来实现缓存技术方案
- SpringBoot2.3整合redis缓存自定义序列化的实现
- SpringBoot使用Redis缓存MySql的方法步骤
- SpringBoot使用Redis缓存的实现方法
- SpringBoot redis分布式缓存实现过程解析
相关文章
easycode配置成mybatis-plus模板的实现方法
本文主要介绍了easycode配置成mybatis-plus模板的实现方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-09-09
idea debug没有force step into的问题解决
本文主要介绍了IDEA Debug中ForceStepInto按钮消失的问题及解决方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2024-10-10
Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务
本篇文章介绍了如何在 Spring Boot 中集成 Quartz 进行定时任务调度,并通过 Cron 表达式 控制任务执行时间,Quartz 提供了更强大的任务调度能力,比 @Scheduled 注解更灵活,适用于复杂的定时任务需求2025-04-04
deepseek本地部署及java、python调用步骤详解
这篇文章主要介绍了如何下载和使用Ollama模型,包括安装JDK 17及以上版本和Spring Boot 3.3.6,配置pom文件和application.yml,创建Controller,以及使用Python调用模型,需要的朋友可以参考下2025-02-02


最新评论