Как вы кэшируете кортеж в memcached?
Я пытаюсь кэшировать строку данных или кортеж, извлеченные из запроса SQL, в memcached, используя запрос в качестве ключа и набор результатов в качестве значения.
Сначала я попытался вставить HashMap, время выполнения дало мне IllegalArgumentException: Non-serializable object
Затем я попытался обернуть его в классе, который реализует Serializable
, но время выполнения все еще выдает вышеупомянутое исключение.
Так как же вставить кортеж данных из запроса SQL в MemCacheD?
1 ответ
Исключение не сериализуемого объекта исходит от объекта внутри HashMap. Сам HashMap является сериализуемым, но все сериализуемые объекты должны быть serailizable. Это требование касается всех членов объекта, которые сериализуются.
Проверьте классы ключей и и значений, которые есть в хэш-карте, которая должна быть кэширована. Если объекты поступают из вашего драйвера sql и не являются сериализуемыми, вам может потребоваться скопировать их данные в ваши собственные сериализуемые объекты.