当redis与spring或spring boot一起使用时,默认的缓存策略是什么?

3duebb1j  于 2021-06-08  发布在  Redis
关注(0)|答案(1)|浏览(466)

有各种各样的缓存策略,如:缓存在一边,读通过,写通过,写在后面,写在周围。
当redis与spring boot一起使用时 spring-boot-starter-data-redis 依赖,什么是默认的缓存策略。如何才能改变这种状况。如有任何参考,将不胜感激。

hlswsv35

hlswsv351#

默认情况下,将缓存放在一边,我们在spring引导应用程序中的缓存使用情况与此类似

@Cacheable(cacheNames = "someCache")
public String cacheThis(String id){
    return "this Is it";
}

在springboot应用程序的大多数场景中,我们缓存jpa或其他db查询的结果。在这种情况下,我们补充说 Cacheable 在查询方法上,它为我们提供了cache-aside特性。
应用程序可以通过实现cache-aside策略来模拟直通缓存的功能。此策略按需将数据加载到缓存中。

裁判:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside
使用cache-aside模式并非总是解决问题的方法,根据您的用例,您可能需要更改缓存策略。改变缓存策略不是直接的,除了我们从spring框架中知道的一些注解,比如
可缓存的
缓存退出
缓存输出
您需要更新应用程序代码以使用其他缓存策略,尽管您可以使用这些注解构建任何缓存策略。如果您不喜欢使用这些注解,那么可以使用实际的缓存对象,您可以随时调用cache方法来修改缓存。

Cache myCache = cacheManager.getCache("myCache");

一旦有了缓存对象,就可以调用所有相关的方法,由于底层缓存的限制,有些方法可能无法按预期工作。

相关问题