Как вы кэшируете кортеж в memcached? - PullRequest
0 голосов
/ 03 декабря 2011

Я пытаюсь кэшировать строку данных или кортеж, извлеченные из запроса SQL, в memcached, используя запрос в качестве ключа и набор результатов в качестве значения.

Сначала я попытался вставить HashMap, время выполнения дало мне IllegalArgumentException: Non-serializable object

Затем я попытался обернуть его в класс, который реализует Serializable, но время выполнения все равно вызывает вышеприведенное исключение.

Так, как вы вставляете кортеж данныхиз SQL-запроса в MemCacheD?

1 Ответ

1 голос
/ 03 декабря 2011

Исключение не сериализуемого объекта исходит от объекта внутри HashMap.Сам HashMap является сериализуемым, но все сериализуемые объекты должны быть serailizable.Это требование распространяется на все члены объекта, которые сериализуются.

Проверьте классы ключей и и значения, содержащиеся в хэш-карте, которая должна быть кэширована.Если объекты поступают из вашего драйвера sql и не являются сериализуемыми, вам может потребоваться скопировать их данные в ваши собственные сериализуемые объекты.

...