Как вы кэшируете кортеж в memcached?

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

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

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

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

1 ответ

Решение

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

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

Другие вопросы по тегам