Redis-cli 中的 HGETALL 显示类似 x00 xff 的结果。到底发生了啥?
Posted
技术标签:
【中文标题】Redis-cli 中的 HGETALL 显示类似 x00 xff 的结果。到底发生了啥?【英文标题】:HGETALL in Redis-cli showing the results like x00 xff. What is really happening?Redis-cli 中的 HGETALL 显示类似 x00 xff 的结果。到底发生了什么? 【发布时间】:2022-01-17 20:34:53 【问题描述】:我成功地将值插入到我的 redis 缓存中,并且在尝试获取存储的值时,我得到的值类似于
127.0.0.1:6379> HGETALL UPGRADE_ME
1) "\xfc\r-447340129694"
2) "\x00\x00\x00\x00\x00\x00\x00\x00S\x00\x00\x00\x00\x00\x00\x00\x00\x010com.customer.upgrade.Key\x00\xfd\x00\x00\x00\x00\x00\xd0\xbe@\xff\x00\x10\x00\xff\xfc\x04time\xff\xff\xfc\x06reason\x00"
这些值是否存储为binary
?另外我怎样才能让它存储为json
.?
我的java代码看起来像
RMapCache<String, Key> keys= redissonClient.getMapCache(UPGRADE_ME);
keys.put(key1, obj, cacheProperties.getProps(),
TimeUnit.SECONDS);
【问题讨论】:
您确定有将值放入 Redis 的代码吗? 相关:***.com/questions/32389158/… @MarkSetchell 是的。我正在使用 reddison java 客户端 【参考方案1】:有API可以传递编解码器,我们可以传递org.redisson.codec.JsonJacksonCodec()
将对象存储为json
RMapCache<String, Key> keys= redissonClient.getMapCache(UPGRADE_ME,new org.redisson.codec.JsonJacksonCodec());
keys.put(key1, obj, cacheProperties.getProps(),
TimeUnit.SECONDS);
【讨论】:
以上是关于Redis-cli 中的 HGETALL 显示类似 x00 xff 的结果。到底发生了啥?的主要内容,如果未能解决你的问题,请参考以下文章
python3 redis-py如何自动解析hgetall结果?