spring redis序列化问题

1.spring中操作redis,添加key之后,在控制台看到的key被序列化

2.如"\xac\xed\x00\x05t\x00\x12signRule2014-09-28",实际我们添加的key为signRule2014-09-28

3.因此我们无法直接通过已知的key用脚本或命令直接去修改该key的value

4.这里可以使用jsp去获取或修改redis的值

<%@page import="org.springframework.data.redis.core.RedisTemplate"%>
<%@page import="java.util.*" %>
<%@page import="java.text.*" %>
<%@ page contentType="text/html;charset=UTF-8"%>
<%
RedisTemplate redisTemplate = (RedisTemplate)context.getBean("redisTemplate");
limitCount = redisTemplate.opsForHash().get("192.168.57.173","ipLimit");
out.println(limitCount);
out.println("<br>");
%>
时间: 2024-12-30 02:48:22

spring redis序列化问题的相关文章

深入理解Spring Redis的使用 (七)、Spring Redis 使用 jackson序列化 以及 BaseDao代码

之前在介绍Spring Redis进行存储的时候,都是通过RedisTemplate中的defaultSerializer,即JdkSerializationRedisSerializer.通过Jdk的序列化比较简单,但是有时候线上调试的时候通过控制台查看,完全看不出来存储了什么东西.而且在空间占用和性能上,相比Jackson,完全没有优势. 有过两次线上出问题,定位的时候知道缓存有错,却不知道到底出在那个缓存的字段上,调试非常不方便.于是序列化统统换成了Jackson. 代码如下: impor

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&qu

spring redis入门

小二,上菜!!! 1. 虚拟机上安装redis服务 下载tar包,wget http://download.redis.io/releases/redis-2.8.19.tar.gz. 解压缩,tar -zxvf redis-2.8.19.tar.gz 进到文件夹,cd redis-2.8.19/,编译一下,make 创建空文件夹用于存放redis程序,mkdir /usr/local/redis 把编译后的产物依次复制到redis文件夹下 1) 编译后src文件夹下 红色部分文件都分别复制过去

分布式缓存技术redis学习系列----深入理解Spring Redis的使用

关于spring redis框架的使用,网上的例子很多很多.但是在自己最近一段时间的使用中,发现这些教程都是入门教程,包括很多的使用方法,与spring redis丰富的api大相径庭,真是浪费了这么优秀的一个框架.Spring-data-redis为spring-data模块中对redis的支持部分,简称为"SDR",提供了基于jedis客户端API的高度封装以及与spring容器的整合,事实上jedis客户端已经足够简单和轻量级,而spring-data-redis反而具有&quo

深入理解Spring Redis的使用 (一)、Spring Redis基本使用

关于spring redis框架的使用,网上的例子很多很多.但是在自己最近一段时间的使用中,发现这些教程都是入门教程,包括很多的使用方法,与spring redis丰富的api大相径庭,真是浪费了这么优秀的一个框架.这里,我们就对比之前对spring orm中对hibernate的使用,来理解使用spring redis的使用.(本文章不做redis基本命令使用的讲解) 1. Redis使用场景 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Va

自定义redis序列化工具

redis一个优点就是可以将数据写入到磁盘中. 我们知道写入磁盘的数据实际上都是以字节(0101这样的二进制数据)的形式写入的. 这意味着如果我们要将一个对象写入磁盘,就必须将这个对象序列化. java的序列化机制可以参考这篇文章. 可以看到java的反序列是否成功跟serialVersionUID有很大的关系,自动生成的UID在每次编译时就会发生变化. 如果有两个程序共享一个redis,这个时候反序列化就会出现问题. 所以总监叫我自定义个redis序列化工具. 一.为什么Spring redi

Redis 序列化方式StringRedisSerializer、FastJsonRedisSerializer和KryoRedisSerializer

当我们的数据存储到Redis的时候,我们的键(key)和值(value)都是通过Spring提供的Serializer序列化到数据库的.RedisTemplate默认使用的是JdkSerializationRedisSerializer,StringRedisTemplate默认使用的是StringRedisSerializer. Spring Data JPA为我们提供了下面的Serializer:GenericToStringSerializer.Jackson2JsonRedisSeria

spring redis cache使用思考

项目中使用spring redis cache做为cache客户端. spring redis cache中RedisCache是整个spring cache的领域模型,对应一个cache块的操作类. RedisCache中定义了put,get,clean,evict操作. 其中clean方法用于清除当前cache块中所有的元素,这里会加锁,而锁的实现是往redis服务器上存放一个key为:cache块名称加上~lock的元素.最后清除锁则是在clean方法执行完成后在finally中清除. p

spring+redis+nginx 实现分布式session共享

1,spring 必须是4.3以上版本的 2,maven配置 添加两个重要的依赖 <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> <version>1.2.2.RELEASE</version> <type>pom</type>