我正在尝试将从SQL查询中获取的数据行或元组缓存到memcached中,使用查询作为键,将结果集作为值。
起初我尝试插入HashMap,运行时给了我IllegalArgumentException: Non-serializable object
然后我尝试将它包装在一个实现Serializable
的类中,但运行时仍会抛出上述异常。
那么如何将SQL查询中的数据元组插入MemCacheD?
答案 0 :(得分:1)
Non-serializable对象异常来自HashMap内的一个对象。 HashMap本身是可序列化的,但所有被序列化的对象都需要可以选择。此要求级联到要序列化的对象的所有成员。
检查要缓存的散列映射中的键和值的类。如果对象来自您的sql驱动程序且不可序列化,那么您可能需要将其数据复制到您自己的可序列化对象中。