Ho capito che l'utilizzo dell'annotazione @RedisHash effettuerà transazioni solo nel database Redis. Quindi ho adottato un approccio diverso per utilizzare @Cacheable su tutte le chiamate GET e @CacheEvict su tutte le altre chiamate responsabili di apportare modifiche al database.
Probabilmente @RedisHash è pensato per l'utilizzo di Redis come database delle transazioni che può essere mantenuto in un database persistente come Postgres utilizzando qualche altro processo.