Quais estratégias existem para usar o Spring Cache em métodos que usam um parâmetro de matriz ou coleção?

Eu quero usar a abstração de cache do Spring para anotar métodos como @Cacheable. No entanto, alguns métodos são projetados para pegar uma matriz ou coleção de parâmetros e retornar uma coleção. Por exemplo, considere este método para encontrar entidades:

public Collection<Entity> getEntities(Collection<Long> ids)

Semanticamente, preciso armazenar em cacheEntity objetos individualmente (codificados por ID), não com base na coleção de IDs como um todo. Semelhante ao queessa questão está perguntando sobre.

Simple Spring Memcached suporta o que eu quero, através da suaReadThroughMultiCache, mas quero usar a abstração do Spring para oferecer suporte à alteração fácil da implementação do armazenamento em cache (Goiaba, Coherência, Hazelcast etc.), não apenas no cache de memórias.

Quais estratégias existem para armazenar em cache esse tipo de método usando o Spring Cache?

questionAnswers(1)

yourAnswerToTheQuestion