spring boot redis序列化key-value时key值前面出现多余值

参考网址:https://blog.csdn.net/yunhaibin/article/details/9001198#

业务涉及将之前的一主二从redis集群改造后5主5从的redis集群,改造完成后发现一个问题,往redis里面写数据时,key值钱面会出现多余的值(比正常的key值里面多了个t6),如下图

用redis链接客户端访问时,会显示乱码,如下图

经参考大神文章,在redis.xml配置增加redis序列化相关匹配信息解决

<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"
        p:connection-factory-ref="jedisConnectionFactory">
        <property name="keySerializer">
            <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
        </property>
        <property name="valueSerializer">
            <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
        </property>
        <property name="hashKeySerializer">
            <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
        </property>
        <property name="hashValueSerializer">
            <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
        </property>
    </bean>

修改后重新添加key值,客户端可正常展示key值,如下图

原文地址:https://www.cnblogs.com/lchzlp/p/11192630.html

时间: 2024-10-28 08:35:05

spring boot redis序列化key-value时key值前面出现多余值的相关文章

spring boot redis 缓存(cache)集成

Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 spring boot 连接Mysql spring boot配置druid连接池连接mysql spring boot集成mybatis(1) spring boot集成mybatis(2) – 使用pagehelper实现分页 spring boot集成mybatis(3) – mybatis ge

spring boot + redis 实现session共享

这次带来的是spring boot + redis 实现session共享的教程. 在spring boot的文档中,告诉我们添加@EnableRedisHttpSession来开启spring session支持,配置如下: @Configuration @EnableRedisHttpSession public class RedisSessionConfig { } 而@EnableRedisHttpSession这个注解是由spring-session-data-redis提供的,所以

spring boot redis分布式锁

随着现在分布式架构越来越盛行,在很多场景下需要使用到分布式锁.分布式锁的实现有很多种,比如基于数据库. zookeeper 等,本文主要介绍使用 Redis 做分布式锁的方式,并封装成spring boot starter,方便使用 一. Redis 分布式锁的实现以及存在的问题 锁是针对某个资源,保证其访问的互斥性,在实际使用当中,这个资源一般是一个字符串.使用 Redis 实现锁,主要是将资源放到 Redis 当中,利用其原子性,当其他线程访问时,如果 Redis 中已经存在这个资源,就不允

Spring Boot + Redis

启动redis docker run --name redisServer -P -d redis redis自带客户端,启动客户端 docker run -it --link redisServer:db --entrypoint redis-cli redis -h db 也可以使用桌面工具Redis Desktop Manager测试 下载地址:https://redisdesktop.com/download 下载完后安装,打开程序 连接服务器 可以看到上面存进去的name 新建一个Sp

从.Net到Java学习第四篇——spring boot+redis

从.Net到Java学习第一篇——开篇 从.Net到Java学习第二篇——IDEA and start spring boot 从.Net到Java学习第三篇——spring boot+mybatis+mysql 接上一篇,本篇使用到的框架redis.FastJSON. 环境准备 安装redis,下图是我本机的redis绿色版,你可以网上自行下载安装,如果不知道如何怎么操作,可以移步到我的另一篇文章:ASP.NET Redis 开发 以管理员身份打开CMD窗口: C:\Users\zouqj>e

Spring boot redis自增编号控制 踩坑

近段期间,公司 接手一个订单号生成服务,规则的话已经由项目经理他们规定好了,主要是后面的四位数代表的关于当前订单号已经执行第几个了.而这里面有一个要求就是支持分布式.为了实现这个东西,刚开始我使用了redis的incr来解决这个问题,因为我们后端开发用的是Spring boot,所以我网上找了一个代码如下: 1 /** 2 * 3 * @param key 4 * @param liveTime 5 * @return 6 */ 7 public Long incr(String key, lo

Spring Boot + JPA(hibernate 5) 开发时,数据库表名大小写问题

这几天在用spring boot开发项目, 在开发的过程中遇到一个问题hibernate在执行sql时,总会提示表不存在. 寻找之后发现, 建表时,表统一采用了大写.hibernate会把大写统一转换成小写.且 mysql在 linux下 大小写敏感. 解决: 1. 尝试修改mysql的cnf文件,改成不区分大小写.修改完成之后发现问题并没有解决,还产生了新的问题,表名无论大小写都失败了. 2. 数据库层面修改没有效果, 表结构和表名不能修改,那只能通过代码实现来解决此问题了. 先感谢  三个博

java版spring cloud+spring boot+redis多租户社交电子商务平台(七)开发Web应用(1)

静态资源访问在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /static/public/resources/META-INF/resources举例:我们可以在src/main/resources/目录下创建static,在该位置放置一个图片文件.启动程序后,尝试访问http://localhost:8080/D.jpg.如能显示图片,配置成功. 渲染Web页面在

spring boot继承web和mybatis时,调用接口删除记录出现的空指针以及解决办法

前两天在学spring boot的时候,出现了一个很奇怪的错误,因为是第一次使用spring boot,所以没想到会遇到这种莫名其妙的bug,即调用接口删除数据库中一条记录的时候,数据库中记录事实上以及被删除了,但是却返回一个null,这就令我百思不得其解了,理论上,删除的话,会返回受影响的记录的条数. 最后排查了一圈,结果却十分令我大跌眼镜,真的很简单!下面写的代码: controller类,这里由于后来数据库sql改了,为了测试like的搜索功能,所以前面的index方法参数并未进行及时修改