I have a simple spring boot with redis application that i am building to cache master data of 3 entities emails, products and countries. i have used the spring boot starter dependency
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
also i am using started configuration in my application.properties file
spring.cache.type=redis
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.cache.redis.key-prefix=masterDataApp
spring.cache.redis.use-key-prefix=true
The cacheable methods are
@Service
public class MasterDataService {
@Cacheable(value="EMAILS")
public List<Email> getEmails() {
System.out.println(" Loading Data from getEmails");
return emails;
}
@Cacheable(value="PRODUCTS")
public List<Product> getProducts() {
System.out.println(" Loading Data from getProducts");
return products;
}
@Cacheable(value="COUNTRIES")
public List<Country> getCountries() {
System.out.println(" Loading Data from getCountries");
return countries;
}
}
The issue is once i load one of the methods from this class, the other 2 methods return the same data as the first method even though they return different Lists and have different Values Cacheable annotation. What am i doing wrong?