问题描述
- Redis Monitor命令 - Java
-
使用的语言是Java,使用的Redis客户端为Jedis我调用redis的monitor命令捕获一条如下信息
1437562679.165098 [0 192.168.14.71:54692] "SET" "xe5x90x8cxe5xadxa6" "xacxedx00x05srx00x13com.redis.monitor.M2xc9x18ix8eZxafx03x02x00x00xp"set后面有2串字符串。第一串字符串是key,记录的是一个中文的key名,是一个String(不要深究为什么用中文做Key)
第二串字符串是一个new出来的Object进行JDK的序列化之后的字节数组
现在有一个问题就是,我能否只根据这些字符串,还原他原来的面貌。
如果直接调redis的get命令,把拿到的byte数组反序列化后,肯定是可以弄成对象的,这个都知道。
我问的是能不能根据【"xacxedx00x05srx00x13com.redis.monitor.M2xc9x18ix8eZxafx03x02x00x00xp"】。
根据这些字符串还原对象。然后我自己再转成JSON或者转成XML,这样我就清晰的知道,当时做了一个什么操作,set了一个什么值
解决方案
java monitor
Redis命令
Java monitor/lock
解决方案二:
你是否可以直接把JSON等字符串作为value存进去,这样获取回来也直接知道这个JSON数据。你序列化对象是为了什么?
数据库一般还是存原始数据比较简单,存对象,好像不太必要。
时间: 2025-01-01 18:18:30