当前位置: 首页 > 面试题库 >

如何在Java中序列化地图以存储在Redis中?

戚阳
2023-03-14
问题内容

我有以下课程:

public class Document {

    public String id;
    public String date;
    public Map<String, Keyword> keywords = new HashMap<>();

}

public class Keyword {

    public String word;
    public Map<String, Document> docs = new HashMap<>();

}

我想序列化keywordsHashMap以便将其保存在Redis中。

java.io.NotSerializableException:关键字


问题答案:

使您KeywordDocument类实现java.io.Serializable

您要序列化的所有内容都应实现java.io.SerializableHashMap并且String默认情况下可以序列化,因此您无需为它们做任何事情。

请阅读此。



 类似资料:
  • 问题内容: 我的直觉告诉我,必须以某种方式将其转换为字符串或byte [](在Go中甚至可能是相同的东西?),然后将其保存到磁盘。 我找到了这个包(http://golang.org/pkg/encoding/gob/),但似乎仅用于结构? 问题答案: 序列化数据有多种方法,Go为此提供了许多软件包。某些常见编码方式的软件包: 处理地图很好。以下示例显示了地图的编码/解码: 操场

  • 问题内容: 我需要将一些时间序列数据存储到Redis中。我有unix时间戳,并且我需要关联一个值(时间戳<->值) 我尝试将时间戳记作为得分(以便我可以在时间戳记上进行zrange)并将值作为成员的排序集。 但是我遇到了一个问题,成员没有重复,而对于不同的时间戳,我的值可以相同。知道如何处理吗?其他数据类型更好吗? 问题答案: 解决此问题的一个简单技巧是将时间戳记和值连接起来。 而不是存储: 您可

  • 问题内容: 我已经使用了C#Redis缓存。 但我想像这样存储数据 这样一键就可以存储所有客户列表,并且可以轻松地在该列表内搜索,分组,过滤客户数据 欢迎使用或回答 问题答案: 您可以使用ServiceStack.Redis高级IRedisTypedClient Typed API 来管理丰富的POCO类型。 首先为具有以下条件的客户获取类型化的Redis客户端: 这将解决用于管理客户POCO的高

  • 问题内容: 如何序列化未实现Serializable的对象?我不能将其标记为Serializable,因为该类来自第3方库。 问题答案: 您不能序列化未实现的类,但可以将其包装在可以实现的类中。为此,您应该在包装器类上实现和,以便可以以自定义方式序列化其对象。 首先,使您的非序列化字段。 在中,首先调用流以存储所有非瞬态字段,然后调用其他方法来序列化不可序列化对象的各个属性。 在中,首先调用流以读

  • 问题内容: 我想深入克隆一个列表。为此,我们有一种方法 所以现在要克隆我的列表,我应该先将其转换为可序列化的。是否可以将列表转换为可序列化列表? 问题答案: 已实施的所有标准实施。 因此,即使它本身不是的子类型,也可以安全地将列表强制转换为,只要您知道它是诸如或的标准实现之一。 如果不确定,请先复制列表(使用),然后知道它是可序列化的。