当前位置: 首页 > 知识库问答 >
问题:

使用Jedis将map转换为值类型

苍兴怀
2023-03-14

所以,我有一个值类型:

class Session {
    long createdAt;
    List<String> postIds;
}
private redis.clients.jedis.Jedis jedis;

void createSession(String idAsKey, Map<String, String> hashFieldValues) {
    jedis.hset(idAsKey, hashFieldValues);
}


Map<String, String> fetchSession(String idAsKey) {
    return jedis.hgetAll(idAsKey);
}

我目前正在研究的挑战是如何将map 转换为session对象。有没有一种现有的方法可以做到这一点?

等效命令的服务器响应

1) "createdAt"
2) "1556099708307"
3) "postIds"
4) "[a, b, c]"

PS:开始学习Redis,希望这种映射可能已经解决了。是的,至少不是找客户变更作为答案。

共有1个答案

禹兴安
2023-03-14

Jedis没有提供将对象映射到散列结构的方法。

如果您使用的是spring,那么您可以查看HashMappers。HashMapper将POJO转换为哈希,反之亦然。在您的例子中,HashMapper将会话转换为哈希,然后反过来。

 类似资料:
  • 问题内容: 我从“ reflect”包中的函数调用获取此返回值: 。 想知道我是否可以在返回值内访问实际地图,如果可以,怎么办? 编辑: 因此,这是我在进行返回Value对象的调用的地方。它返回`[< map[string]string Value ][< map[string]string Value >]`为常规地图。 问题答案: 使用方法可以将大多数反射对象转换回一个值。 获取此值后,可以将

  • 我想将列表转换为映射,如下所示。下面是一个例子。 我有学生列表类似下面的代码片段。从其中得到一个Hasmap,其中Key为Integer(也就是年龄),value为list。 映射[[10,{1}],[20,{2,3,4}],[30,{5}].[40,{6}]]; 提前致谢.......!

  • 我在一个类中有以下代码,它扩展了Primefaces的 在上面的过滤器是类型

  • 问题内容: 我有一些要转换成的属性 我可以从json.org或使用什么吗? 问题答案: 使用来自http://json.org/的 Jackson(http://jackson.codehaus.org/)

  • 问题内容: 像这样转换JSON代码的最佳方法是什么: 在Java Map中,其中一个键为(field1,field2),而这些字段的值为(value1,value2)。 有任何想法吗?我应该使用Json-lib吗?或者,如果我编写自己的解析器会更好? 问题答案: 我希望您在开玩笑编写自己的解析器。:-) 对于这种简单的映射,http://json.org(java部分)中的大多数工具都可以使用。对