Пользовательское имя в кэше Redis - PullRequest
0 голосов
/ 28 февраля 2019

Я использую Spring Boot 1.5.10.RELEASE и spring-boot-starter-data-redis version: 2.1.2.RELEASE.Мне нужно дать имя кэша в соответствии с параметром, переданным в методе. Мой пример кода приведен ниже:

@Cacheable(value = "Company"+"-"+"#companyId",key="#employeeId")
public Employee getEmployee(Long companyId, Long employeeId) {
    //Some code here

        }

I ожидал имя как Company-1, но фактический результат равен Company-#companyId.Я ищу что-то вроде customKeyGenerator.Пожалуйста, дайте мне ваши предложения. TIA

1 Ответ

0 голосов
/ 28 февраля 2019

Боюсь, что использование "Company" + "-" + "# companyId" не будет работать, потому что 'value' интерпретирует все как строку.'key' принимает выражение Spring Expression Language (SpEL) для динамического вычисления ключа и, следовательно, работает #employeeId.Вам нужен собственный cacheResolver: пружинный кеш с настраиваемым cacheResolver

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...