首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Redis上放置Java对象: JavaNode是正确的方法吗?

在Redis上放置Java对象: JavaNode是正确的方法吗?
EN

Stack Overflow用户
提问于 2013-12-31 04:37:15
回答 2查看 436关注 0票数 1

我正在编写一个对象的JSON表示到一个Redis实例(通过Jesque),但是我不清楚放置一个JsonNode对象是否是正确的方法。示例/API(例如ObjectMapperthis one )的要点是,如果写入文件,我应该使用它,但我实际上是在寻找一个可以发送到Redis的对象。

下面是我所拥有的,其中JsonNode在下面由对象payload表示。这工作得很好,但很难弄清楚,所以我想我错过了快乐的道路。

代码语言:javascript
复制
final String queueName = "myQueue";
final net.greghaines.jesque.client.Client client = getClient();
final net.greghaines.jesque.Job job = new Job(jobClassName, payload);
client.enqueue(queueName, job);
client.end();

当前payload是由生成的JsonNode对象

代码语言:javascript
复制
final ObjectMapper objectMapper = new ObjectMapper();
final Object jsonNode = objectMapper.valueToTree(this);

有没有更好的方法?

EN

回答 2

Stack Overflow用户

发布于 2013-12-31 05:44:34

存储对象的JsonNode表示的另一种方法是简单地存储String表示:

new ObjectMapper().writeValueAsString(yourObject);

然后,在检索对象时,如果需要,始终可以将String表示反序列化为JsonNode

JsonNode actualObj = mapper.readTree(jsonString);

或转换为简单的类型安全实体对象:

YourEntity entity = mapper.readValue(jsonAsString, YourEntity.class);

所有这些都没有在Redis中存储特定于库的信息。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2016-09-21 22:13:07

你可以使用Redisson,它有内置的Redis based scheduler,可以与Json,Kryo,msgpack和许多其他编解码器一起工作。为Redis power提供最简单的api。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20847137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档