Spring Boot makes is super simple to add caching abilities to your application. With just a few lines of code and some annotation magic, you have a complete caching solution available with you.
Spring provides wrappers for many cache implementations - Google Guava, ehcache, MongoDB, Redis, etc. At the simplest level, you can also use a ConcurrentHashMap as the cache manager.
Given below are three code snippets that shows how simple it is to enable caching for static data in a Spring Boot application - Welcome to the power of Spring !
Step 1: [CachingConfiguration.java] Configure a ConcurrentHashMap cache manager
Step 2: [SpringBootCachingApplication.java] Annotate your Spring Boot application with @EnableCaching.
Magic behind the scenes: The @EnableCaching annotation triggers a post processor that inspects every Spring bean for the presence of caching annotations on public methods. If such an annotation is found, a proxy is automatically created to intercept the method call and handle the caching behavior accordingly.
Step 3: [StaticDataService.java] Annotate your methods that return the static data with @Cacheable annotation. You can pass the cache name in the annotation - e.g. @Cacheable("SomeStaticData")
That's it! You have configured caching. In the next blog-post, we will see how we can evict items from the cache when necessary.
Spring provides wrappers for many cache implementations - Google Guava, ehcache, MongoDB, Redis, etc. At the simplest level, you can also use a ConcurrentHashMap as the cache manager.
Given below are three code snippets that shows how simple it is to enable caching for static data in a Spring Boot application - Welcome to the power of Spring !
Step 1: [CachingConfiguration.java] Configure a ConcurrentHashMap cache manager
Step 2: [SpringBootCachingApplication.java] Annotate your Spring Boot application with @EnableCaching.
Magic behind the scenes: The @EnableCaching annotation triggers a post processor that inspects every Spring bean for the presence of caching annotations on public methods. If such an annotation is found, a proxy is automatically created to intercept the method call and handle the caching behavior accordingly.
Step 3: [StaticDataService.java] Annotate your methods that return the static data with @Cacheable annotation. You can pass the cache name in the annotation - e.g. @Cacheable("SomeStaticData")
That's it! You have configured caching. In the next blog-post, we will see how we can evict items from the cache when necessary.
No comments:
Post a Comment