josico 2015-07-22 11:14 采纳率: 0%
浏览 1992

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了一个什么值

  • 写回答

1条回答

  • oyljerry 2015-07-22 11:21
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致