2 josico josico 于 2015.07.22 19:14 提问

Redis Monitor命令 - Java

使用的语言是Java,使用的Redis客户端为Jedis

我调用redis的monitor命令捕获一条如下信息
1437562679.165098 [0 192.168.14.71:54692] "SET" "\xe5\x90\x8c\xe5\xad\xa6" "\xac\xed\x00\x05sr\x00\x13com.redis.monitor.M2\xc9\x18i\x8eZ\xaf\x03\x02\x00\x00xp"

set后面有2串字符串。第一串字符串是key,记录的是一个中文的key名,是一个String(不要深究为什么用中文做Key)

第二串字符串是一个new出来的Object进行JDK的序列化之后的字节数组

现在有一个问题就是,我能否只根据这些字符串,还原他原来的面貌。

如果直接调redis的get命令,把拿到的byte数组反序列化后,肯定是可以弄成对象的,这个都知道。

我问的是能不能根据【"\xac\xed\x00\x05sr\x00\x13com.redis.monitor.M2\xc9\x18i\x8eZ\xaf\x03\x02\x00\x00xp"】。

根据这些字符串还原对象。然后我自己再转成JSON或者转成XML,这样我就清晰的知道,当时做了一个什么操作,set了一个什么值

2个回答

CSDNXIAON
CSDNXIAON   2015.07.22 19:16

java monitor
Redis命令
Java monitor/lock
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

oyljerry
oyljerry   Ds   Rxr 2015.07.22 19:21

你是否可以直接把JSON等字符串作为value存进去,这样获取回来也直接知道这个JSON数据。你序列化对象是为了什么?
数据库一般还是存原始数据比较简单,存对象,好像不太必要。

josico
josico 存json,速率差距还是有点大。json序列化的速度大概是jdk序列花速度的100倍
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片