首页 > 解决方案 > 如何使用 redis-cli 控制台列出数据?

问题描述

我可以通过我的 RESTful API 方法调用来添加和查看键值对。 restful api方法的响应

但是在添加键值对之后,当我尝试使用 redis-cli 控制台列出/查看它们时,它没有列出任何值。 redis-cli 结果

如您所见,在控制台中,它列出了 **keys *** 命令的一些垃圾值(通过浏览器添加新键/值后),但是当我尝试检索键时,它显示为空.

这可能是什么原因?如何在控制台中正确列出值?

还附上了restful api方法定义: 宁静的API方法

标签: javaspring-bootredisjedis

解决方案


您在输出中看到的值KEYS *是 java-serialized string user

前两个字节\xac\xed(十六进制:0xACED)是STREAM_MAGIC常数。

接下来的两个字节\x00\x05(十六进制:0x0005)是STREAM_VERSION序列化协议的版本。

下一个字节,t是 0x74 =TC_STRING意思是一个字符串对象。

最后\x00\x04是字符串的长度。

该协议在对象序列化流协议的6.4.2 终端符号和常量中进行了描述

您可能想查看您的代码,了解为什么在到达 Redis 之前要对字符串进行 java 序列化。可能是因为h:屏幕截图中显示的。

同时,您可以GET "\xac\xed\x00\x05t\x00\x04user"检查user密钥的值。

IDE 行为


推荐阅读