2016-06-12 61 views
0

我想配置我的緩存大小。我正在使用@EnableCaching。這是我的緩存存儲庫。Spring Boot Cachable Cache Size

VendorRepository

public interface VendorRepository extends Repository<Vendor, Long> { 

@Cacheable("vendorByUsername") 
Vendor getVendorByUsername(String username); 

@CacheEvict(value = {"vendorByUsername", "vendor", "vendors"}, allEntries = true) 
Vendor save(Vendor vendor); 

@Cacheable("vendor") 
Vendor findOne(Long id); 

@Cacheable("vendors") 
List<Vendor> findAll(); 
} 

它是現在工作不錯,但我想設置最大緩存大小。我如何在我的主配置文件中配置這個?

+0

它取決於您使用哪種緩存實現。春天cahe只是一個抽象層 – Jaiwo99

+0

我不使用任何任何實現。我將使用Ehcache。謝謝。 – fatiherdem

回答

1

@ Jaiwo99是正確的。

Spring的緩存抽象不處理緩存內容(如大小或類似相關的驅逐/到期)的特定語義和「低級」細節。這主要是因爲這些低級管理細節在1緩存提供者和下一個緩存提供者之間差別很大。例如,一些緩存提供者/實現是高度分佈的,具有不同的一致性策略,冗餘度和控制延遲的機制等等。因此,在這些功能之上提供一致的抽象是非常困難的,因爲某些提供商甚至不實現所述功能,或者具有非常不同的「一致性」策略等等。

無論如何,本節在Spring參考指南大概總結說最好...

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#cache-specific-config

乾杯!

+0

謝謝澄清,我會使用EhCache,這很容易使用,因爲我看到。 – fatiherdem