Убедитесь, что вы последовательны в том, как ключи сериализуются между serviceA
и serviceB
.Мне кажется, serviceA
записывает данные для данного сериализованного ключа, а затем serviceB
пытается извлечь данные для другого сериализованного ключа.Если, например, вы используете Джексона как в «serviceA», так и в «serviceB», убедитесь, что он настроен одинаково.
Redis по сути является распределенным Map<String, String>
, поэтому, если есть разницакак serviceA
сериализует данные и как serviceB
сериализует данные (например, один из них хранит имя класса в сериализованном объекте, а другой не хранит его), вы получите разные ключи String
для одной и той же Javaключевой объект (и служба, считывающая данные, получит нулевое значение в ответ на findAll
, поскольку в Redis ничего не сохраняется в ключе, который он запрашивает).