qishibo / AnotherRedisDesktopManager

🚀🚀🚀A faster, better and more stable Redis desktop manager [GUI client], compatible with Linux, Windows, Mac.
MIT License
30.69k stars 2.58k forks source link

【建议OR是BUG】关于hash类型的显示问题 #1179

Open zhongzhixinLvoe opened 8 months ago

zhongzhixinLvoe commented 8 months ago

OS

Windows

VERSION

1.6.3

ISSUE DESCRIPTION

在存入hash类型后,通过页面查询是这样显示的 1 | 3423432342234 | 12312312,sdfhjgsdf,1 并且通过命令查询 hget ETAX_CHECK_FLAG 3423432342234 获取的也是12312312,sdfhjgsdf,1

但是如果复制成命令,这个地方就是HMSET "ETAX_CHECK_FLAG" "3423432342234" "12312312,sdfhjgsdf,1"

这里就有一个疑惑,是显示和命令的显示问题吗,为什么复制的set命令则有""

这里就导致我这边在查看这个类型的时候,因为我们这边序列化的原因,他其实是""12312312,sdfhjgsdf,1"" 但是通过hget命令出来就是"12312312,sdfhjgsdf,1"

qishibo commented 8 months ago

复制为命令中得到的引号是拼接的,只是为了命令能够识别其中的特殊字符,如果真有引号的话会被转义,如"\"aaa\""

所以正常查看得到的就是真实值,hget得到的也是真实值,除非你存的时候真的多了引号

zhongzhixinLvoe commented 8 months ago

是的,因为我这边在项目中,序列化使用的是Jackson2JsonRedisSerializer,就导致了存入的时候其实就是""aaa"",但是通过命令获取显示的就是"aaa",但是我这边看Redis Desktop Manager通过命令去看,他显示的就是“”aaa“”这样

qishibo commented 5 months ago

没咋看懂你的意思呢,我写了个hash, key=111 , value="nihaoa" value中有引号 复制为命令得到这个 HMSET "hh" "111" "\"nihaoa\""

image image

你是想说哪里和你预想的不一样

zhongzhixinLvoe commented 5 months ago

您看这个哈 通过命令hset ETAX_CHECK_FLAG "\"xxxxxxxx\""; 然后在redis官网查询软件和AnotherRedisDesktopManager中查询的都是这样 微信截图_20240523141543

QQ截图20240523140958 上面这两个是正常的
但是通过命令查询就不一样了 在redis官方网站通过命令查询是这样显示的 QQ截图20240523141107 这个是正常的 也不容易误解

但是通过AnotherRedisDesktopManager使用命令查询是这样显示的 企业微信截图_17164450432339 这样显示 是不是是bug呢 因为这样容易让别人认为这个value就是""这样的 并不能知道其实他还有一层""

qishibo commented 5 months ago

懂了,我看看要不要弄成和redis-cli一致的情况,统一加上引号