После релиза чтение из кэша падает с ошибкой десериализации
Кэш в Redis использует сериализацию по умолчанию — стандартную сериализацию Java. В релизе в ProductDto добавили поле. Сразу после выкатки часть запросов падает с SerializationException / InvalidClassException, через 10 минут (TTL) всё проходит.
Как избежать этого в будущих релизах?
- Хранить значения в JSON и добавлять версию формата в префикс ключей
- Очищать весь Redis вручную после каждого деплоя
- Запретить добавлять поля в классы, которые хранятся в кэше
- Отключить кэш на 10 минут после каждого релиза
