0

我正在尝试将从 SQL 查询中获取的数据行或元组缓存到 memcached 中,使用查询作为键,结果集作为值。

起初我试图插入一个 HashMap,运行时给了我IllegalArgumentException: Non-serializable object

然后我尝试将它包装在一个正在实现的类中Serializable,但运行时仍然抛出上述异常。

那么如何将 SQL 查询中的数据元组插入到 MemCacheD 中呢?

4

1 回答 1

1

Non-serializable 对象异常来自 HashMap 中的对象。HashMap 本身是可序列化的,但所有被序列化的对象都需要是可序列化的。此要求级联到正在序列化的对象的所有成员。

检查要缓存的哈希图中的键和值的类。如果对象来自您的 sql 驱动程序并且不可序列化,那么您可能需要将它们的数据复制到您自己的可序列化对象中。

于 2011-12-03T06:34:06.760 回答