我很难弄清楚如何使用redisson redis库来访问映射键。我希望能够(使用redisson)访问由未使用redisson的系统创建的密钥。假设我使用redis-cli..。
sasus:16379> hset user fname "Nancy"
(integer) 1
sasus:16379> hset user lname "Schmancy"
(integer) 1
sasus:16379> hset user email "nanc@example.org"
(integer) 1
sasus:16379> hset user system "none"
(integer) 1
sasus:16379> hgetall user
1) "fname"
2) "Nancy"
3) "lname"
4) "Schmancy"
5) "email"
6) "nanc@example.org"
7) "system"
8) "none"现在是一个简单的java方法来检索...
public static void getNancy() {
Config config = new Config();
config.useSingleServer().setAddress("redis://sasus:16379");
RedissonClient redisson = Redisson.create(config);
RMap user = redisson.getMap("user");
System.out.println("user: " + user);
redisson.shutdown();
}这会抛出一个JacksonParseException..。
Unrecognized token 'fname': was expecting 'null', 'true', 'false' or Nan...on对getMap("user")的调用
我看到一些关于编解码器的讨论,但我不清楚这是否是解决方案。谁能给我指个方向?这看起来应该是一个常见的用例。
发布于 2017-09-27 18:54:27
异常是告诉您Redisson检索到的数据不是有效的JSON格式的字符串。您可以更改数据格式,也可以使用StringCodec代替基于JSON的编解码器。
https://stackoverflow.com/questions/46433627
复制相似问题