有各种各样的缓存策略,如:缓存在一边,读通过,写通过,写在后面,写在周围。当redis与spring boot一起使用时 spring-boot-starter-data-redis 依赖,什么是默认的缓存策略。如何才能改变这种状况。如有任何参考,将不胜感激。
spring-boot-starter-data-redis
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方法来修改缓存。如
Cacheable
Cache myCache = cacheManager.getCache("myCache");
一旦有了缓存对象,就可以调用所有相关的方法,由于底层缓存的限制,有些方法可能无法按预期工作。
1条答案
按热度按时间hlswsv351#
默认情况下,将缓存放在一边,我们在spring引导应用程序中的缓存使用情况与此类似
在springboot应用程序的大多数场景中,我们缓存jpa或其他db查询的结果。在这种情况下,我们补充说
Cacheable
在查询方法上,它为我们提供了cache-aside特性。应用程序可以通过实现cache-aside策略来模拟直通缓存的功能。此策略按需将数据加载到缓存中。
裁判:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside
使用cache-aside模式并非总是解决问题的方法,根据您的用例,您可能需要更改缓存策略。改变缓存策略不是直接的,除了我们从spring框架中知道的一些注解,比如
可缓存的
缓存退出
缓存输出
您需要更新应用程序代码以使用其他缓存策略,尽管您可以使用这些注解构建任何缓存策略。如果您不喜欢使用这些注解,那么可以使用实际的缓存对象,您可以随时调用cache方法来修改缓存。
如
一旦有了缓存对象,就可以调用所有相关的方法,由于底层缓存的限制,有些方法可能无法按预期工作。