Como uso a chave, em uma condição na anotação em cache

Estou armazenando em cache os resultados de uma função usando a anotação @cacheable. Eu tenho 3 caches diferentes e a chave para cada um é o ID do usuário conectado no momento concatenado com um argumento no método Em um determinado evento, quero despejar todas as entradas de cache que possuem a chave que inicia com esse ID de usuário específico. Por exemplo :

@Cacheable(value = "testCache1", key = "'abcdef'")

Quero que a anotação de remoção de cache seja algo como:

@CacheEvict(value = "getSimilarVendors", condition = "key.startsWith('abc')")

Mas quando tento implementar isso, ocorre um erro:

Property or field 'key' cannot be found on object of type'org.springframework.cache.interceptor.CacheExpressionRootObject' - maybe not      public?

Qual é a maneira correta de implementar isso?

questionAnswers(1)

yourAnswerToTheQuestion