如何在Sping Boot 中为JPA Query创建该高速缓存

34gzjxbg  于 2023-10-20  发布在  Spring
关注(0)|答案(1)|浏览(159)

我有一个名为Employee的表,从这个表中我有一个JPA查询来获取结果

public List<Employee> findByDepartmentAngActiveFlag(@param("department") String department,@param("activeFlag") String activeFlag);

我想为这个方法创建一个缓存。对于每个部门,它必须从数据库中获取记录,并将其保存在缓存中(我有更新和获取API部门明智的独立)。同一部门明智的我需要更新该高速缓存,如果任何更新发生在该部门的记录。我已经使用了这个@Cacheable,但我不能使用它的部门明智的。
任何建议都将有助于实现这一目标。

6mzjoqzu

6mzjoqzu1#

你可以通过使用SpringBoot CacheManager和Hazelcast inMemory缓存来实现。
Oficial documentation

// getting data
@Cacheable("Employee")
public List<Employee> getEmployees(String department, String activeFlag) 
{
    // Get logic goes here
}

当你将保存员工Hazelcast将保存它在本地缓存也和当你获取它将首先检查缓存。
您可以在API函数中调用此方法。同时确保将这个类用作Bean。

相关问题