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 {@Autowiredprivate RedisConnectionFactory redisConnectionFactory;@Autowiredprivate RedisTemplate redisTemplate;@Beanpublic 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;}@Beanpublic RedisMessageListenerContainer redisContainer() {final RedisMessageListenerContainer container = new RedisMessageListenerContainer();container.setConnectionFactory(redisConnectionFactory);return container;}@Beanpublic 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 乱码)一招解决
如果查看redis中的值是这样 创建一个配置类就可以解决 package com.deka.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; i…...
rk3588配置uac功能,android13使能uac及adb的复合设备
最近,因新增需求需要在现有产品上增加UAC的功能,查阅并学习相关知识后,在rk3588 SOC硬件平台搭载android13系统平台上成功配置了uac及uac&adb的复合设备。基于开源共享精神希望给大家提供些参考。 1.技术可行性预研 (1&#…...
对未来新能源车测试工具的看法
汽车行业正在经历变革的说法算是比较轻描淡写的了,还记得我1983年加入这个行业时,行业聚焦点是引入发动机管理系统。当时还是以家庭掀背车为主的时代,发动机分析仪的体积像衣柜一样大,还没出现“CAN”通信协议。现在经常听到我的导…...
案例说法:智能网联车背后的安全隐患
随着汽车智能化、网联化的发展,汽车数据处理能力日益增强,未经授权对个人信息和重要数据采集、利用等数据安全问题逐步凸显。对车辆网络攻击、网络侵入等网络安全问题恐将危及个人生命安全、合法权益,甚至危害公共利益、国家安全,…...
基于C#实现双端队列
话说有很多数据结构都在玩组合拳,比如说:块状链表,块状数组,当然还有本篇的双端队列,是的,它就是栈和队列的组合体。 一、概念 我们知道普通队列是限制级的一端进,另一端出的 FIFO 形式&#…...
蓝桥杯物联网竞赛_STM32L071_4_按键控制
原理图: 当按键S1按下PC14接GND,为低电平 CubMX配置: Keil配置: main函数: while (1){/* USER CODE END WHILE */OLED_ShowString(24, 0, "<KeyCheck>", 16);if(Function_KEY_S1Check() 1){ OLED_ShowString(…...
【后端卷前端】
为啥现在对后端要求这么高?为啥不要求前端会后端呢? 可能是后端人太多了,要求后端需要会前端的框架(vue react angular ), 这不我为了适应市场的需求来系统的学习vue了: 生成一个基础的vue项目 创建vue项目 vue create projectname 创建vitevue npm init vitelatest p…...
二叉树题目:结点与其祖先之间的最大差值
文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:结点与其祖先之间的最大差值 出处:1026. 结点与其祖先之间的最大差值 难度 5 级 题目描述 要求 给…...
平衡树 - splay
相比于之前的普通平衡树进行左旋右旋来比,splay的适用性更高,使用更广泛。 核心函数rotate、splay函数,其它的根据需要进行修改。 int n, m; struct Node {int s[2], p, v, cnt; // 左右儿子、父节点、值、出现数量int size, flag; // 子树大…...
Spring Validation实践及其实现原理
Bean Validation 2.0 注解 校验空值 Null:验证对象是否为 null NotNull:验证对象是否不为 null NotEmpty:验证对象不为 null,且长度(数组、集合、字符串等)大于 0 NotBlank:验证字符串不为 nul…...
Java核心知识点整理大全18-笔记
Java核心知识点整理大全-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全2-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全3-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全4-笔记-CSDN博客 Java核心知识点整理大全5-笔记-CSDN博客 Java核心知识点整理大全6…...
vue 富文本编辑器多图上传
首先我使用的富文本编辑器是vue-quill-editor 使用npm进行下载 npm install vue-quill-editor --save当然也可以按照官方的方法下载,到官方 因为我是在原有老项目上开发的使用的组件库是ant-design-vue 1x版,当然使用其他组件库也可以 然后还有重要的一…...
简易地铁自动机售票系统实现(C++)
该程序具有以下功能 (1) 一个地铁路线类 Router,包含路线编号,途中的各个站点。可以新增、删除、查询路线,可以根据线路名称,显示线路图片。 (2) 一个地图类 Map,可以显示所有可以乘坐的地铁站名,以及线路…...
【Spark入门】基础入门
【大家好,我是爱干饭的猿,本文重点介绍Spark的定义、发展、扩展阅读:Spark VS Hadoop、四大特点、框架模块、运行模式、架构角色。 后续会继续分享其他重要知识点总结,如果喜欢这篇文章,点个赞👍ÿ…...
【自制开源】实时调参,手写字生成神器!大学生福音,告别繁琐的手写报告。
HandwritingGenerator HandwritingGenerator 是一个使用 PyQt6 制作的手写文本图片生成器。 该工具允许用户自定义多种效果,通过在左边配置效果参数,右边实时预览,并在调整好后输出图片。 效果预览 软件界面预览:一封情书&#x…...
Python 进阶(十一):高精度计算(decimal 模块)
《Python入门核心技术》专栏总目录・点这里 文章目录 1. 导入decimal模块2. 设置精度3. 创建Decimal对象4. 基本运算5. 比较运算6. 其他常用函数7. 注意事项8. 总结 大家好,我是水滴~~ 在进行数值计算时,浮点数的精度问题可能会导致结果的不准确性。为了…...
MCU常用文件格式
1. asm文件 asm是汇编语言源程序的扩展名,.asm文件是以asm作为扩展名的文件,是汇编语言的源程序文件。汇编语言(Assembly Language)是面向机器的程序设计语言,是利用计算机所有硬件特性并能直接控制硬件的语言。在汇编语言中,用助…...
【机器学习】On the Identifiability of Nonlinear ICA: Sparsity and Beyond
前言 本文是对On the Identifiability of Nonlinear ICA: Sparsity and Beyond (NIPS 2022)中两个结构稀疏假设的总结。原文链接在Reference中。 什么是ICA(Independent component analysis)? 独立成分分析简单来说,就是给定很多的样本X,通…...
RBAC(Role-Based Access Control,基于角色的访问控制)
1. RBAC核心概念 RBAC(Role-Based Access Control,基于角色的访问控制)是一种广泛应用于软件和系统中的权限管理模型。它通过将用户与角色关联,再将角色与访问权限关联,来管理用户对系统资源的访问。RBAC模型的主要特…...
C++const指针的两种用法
const int *p &a; 指向const变量的指针 指向const变量的指针const修饰的变量,只能由指向const变量的指针去指向 p &a1;const的位置,必须在*的左边指向const变量的指针,可以被改变,可以指向别的变量可以指向普通变量&am…...
Gemma-3-270m在QT桌面应用中的集成开发指南
Gemma-3-270m在QT桌面应用中的集成开发指南 1. 引言 想在桌面应用中添加智能对话功能吗?Gemma-3-270m这个轻量级AI模型可能正是你需要的解决方案。作为Google最新推出的紧凑型语言模型,它只有2.7亿参数,却能在普通电脑上流畅运行࿰…...
PyWxDump:让微信数据管理更简单的本地解决方案
PyWxDump:让微信数据管理更简单的本地解决方案 【免费下载链接】PyWxDump 删库 项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump 你是否曾因电脑故障丢失数年积累的重要聊天记录?是否尝试过将关键对话整理成可检索格式却发现无从下手…...
5步焕新Win11桌面:MicaForEveryone打造个性化窗口美学指南
5步焕新Win11桌面:MicaForEveryone打造个性化窗口美学指南 【免费下载链接】MicaForEveryone Mica For Everyone is a tool to enable backdrop effects on the title bars of Win32 apps on Windows 11. 项目地址: https://gitcode.com/gh_mirrors/mi/MicaForEve…...
# Python 3.11/3.12/3.13 版本选择指南
Python采用年度发布节奏,三个版本处于不同的生命周期阶段,特性与稳定性差异显著:版本发布时间维护截止日期当前状态生态成熟度推荐指数3.112022.102027.10活跃维护后期99%★★★★☆3.122023.102028.10活跃维护中期95%★★★★★3.132024.102…...
微信小程序里canvas不跟手滚动?别再用scroll-view了,试试这个官方推荐的替代方案
微信小程序Canvas滚动难题:官方方案与工程实践解析 第一次在小程序里实现类似淘宝详情页的锚点跳转功能时,我信心满满地用scroll-view包住了所有内容区域。直到测试阶段才发现,页面里的UCharts图表就像被钉死在屏幕上一样,完全无…...
赋能软件测试:三大主流数据标注平台(Label Studio, Prodigy, Scale)的深度技术解析与选型指南
当软件测试遇见AI数据工程在人工智能驱动的软件测试新时代,数据已不仅仅是应用运行的输入,更是构建智能测试模型、实现自动化测试演进的核心“燃料”。数据标注,作为将原始数据转化为机器可理解、可学习结构化信息的关键工序,其质…...
FachuanHybridSystem 项目 Windows 完整安装启动文档
一步不丢,复制粘贴即可,下次直接照着跑 一、前置准备(仅第一次需要) 安装 Git:https://git-scm.com/download/win安装完 必须重启 PowerShell 二、完整一键流程(永久通用) 打开 PowerShell&am…...
OpenWrt搭建Samba共享服务的实用指南
1. 为什么要在OpenWrt上搭建Samba共享 家里有台老路由器刷了OpenWrt系统,闲置着总觉得浪费。后来发现用它搭建个局域网文件共享特别方便,手机电脑都能直接访问,传文件再也不用数据线来回倒腾。Samba这个协议在Windows、Mac和Linux上都能用&am…...
Windows 下 Nexus 私有仓库配置与 SpringBoot 项目集成指南
1. Nexus私有仓库基础认知 第一次接触Nexus是在2015年参与某金融项目时,当时团队频繁遇到Maven中央仓库访问超时的问题。技术负责人建议搭建私有仓库,从此Nexus就成了我开发工具箱里的常备利器。简单来说,Nexus就像是你家里的零食储物柜——…...
Qwen3-ASR-1.7B在Ubuntu20.04上的Docker化部署教程
Qwen3-ASR-1.7B在Ubuntu20.04上的Docker化部署教程 1. 引言 语音识别技术正在改变我们与设备交互的方式,而Qwen3-ASR-1.7B作为一款支持52种语言和方言的开源模型,为开发者提供了强大的语音转文字能力。今天,我将带你一步步在Ubuntu 20.04系…...
