使用带 spring 或 spring 引导的 Redis 时,默认缓存策略是什么?
What is the default cache strategy when using Redis with spring or spring boot?
有多种缓存策略,例如:缓存一旁、通读、直写、后写、绕写。
当 Redis 与 spring boot using spring-boot-starter-data-redis
依赖项一起使用时,默认的缓存策略是什么。这怎么能改变。任何参考将不胜感激。
默认情况下,缓存放在一边,我们在 Spring 启动应用程序中的缓存使用情况与此类似
@Cacheable(cacheNames = "someCache")
public String cacheThis(String id){
return "this Is it";
}
在spring boot app 的大多数情况下,我们缓存JPA 或其他DB 查询的结果。在这种情况下,我们在查询方法上添加 Cacheable
,这为我们提供了缓存功能。
An application can emulate the functionality of read-through caching
by implementing the cache-aside strategy. This strategy loads data
into the cache on demand.
参考:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside
使用缓存备用模式并不是解决问题的总方法,根据您的用例,您可能必须更改缓存策略。更改缓存策略不是直接的,除了我们从 Spring 框架中知道的一些注释,如
- 可缓存
- 缓存清除
- CachePut
您需要更新您的应用程序代码以使用其他缓存策略,但您可以使用这些注释构建任何缓存策略。如果你不喜欢使用这些注解然后玩实际的缓存对象,任何时候你都可以调用 Cache 方法来修改缓存。
例如
Cache myCache = cacheManager.getCache("myCache");
一旦你有了一个缓存对象,你就可以调用所有相关的方法,由于底层缓存的限制,有些方法可能无法正常工作。
有多种缓存策略,例如:缓存一旁、通读、直写、后写、绕写。
当 Redis 与 spring boot using spring-boot-starter-data-redis
依赖项一起使用时,默认的缓存策略是什么。这怎么能改变。任何参考将不胜感激。
默认情况下,缓存放在一边,我们在 Spring 启动应用程序中的缓存使用情况与此类似
@Cacheable(cacheNames = "someCache")
public String cacheThis(String id){
return "this Is it";
}
在spring boot app 的大多数情况下,我们缓存JPA 或其他DB 查询的结果。在这种情况下,我们在查询方法上添加 Cacheable
,这为我们提供了缓存功能。
An application can emulate the functionality of read-through caching by implementing the cache-aside strategy. This strategy loads data into the cache on demand.
参考:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside
使用缓存备用模式并不是解决问题的总方法,根据您的用例,您可能必须更改缓存策略。更改缓存策略不是直接的,除了我们从 Spring 框架中知道的一些注释,如
- 可缓存
- 缓存清除
- CachePut
您需要更新您的应用程序代码以使用其他缓存策略,但您可以使用这些注释构建任何缓存策略。如果你不喜欢使用这些注解然后玩实际的缓存对象,任何时候你都可以调用 Cache 方法来修改缓存。
例如
Cache myCache = cacheManager.getCache("myCache");
一旦你有了一个缓存对象,你就可以调用所有相关的方法,由于底层缓存的限制,有些方法可能无法正常工作。