【发布时间】:2020-11-17 09:47:37
【问题描述】:
我使用 redisson 来存储 Long 值:
RSet<Long> set = client.getSet("myset");
set.add(Long.valueOf(n));
但我得到一个不可读的值:
> SMEMBERS myset
1) "\t\x84\xe2\x02"
如何在没有 redisson 的情况下检索此值?
【问题讨论】:
我使用 redisson 来存储 Long 值:
RSet<Long> set = client.getSet("myset");
set.add(Long.valueOf(n));
但我得到一个不可读的值:
> SMEMBERS myset
1) "\t\x84\xe2\x02"
如何在没有 redisson 的情况下检索此值?
【问题讨论】:
Redisson 3.13.0 版的默认编解码器是MarshallingCodec,在此之前它是FSTCodec。这两者都序列化为人类不可读的二进制格式。
为了序列化长整数和整数值,Redisson 提供了 LongCodec。对应的代码如下所示:
RSet<Long> set = client.getSet("myset",LongCodec.INSTANCE);
set.add(Long.valueOf(n));
【讨论】: