skip to Main Content

My use case is that I want to cache certain request:response in my service caller classes:

public class Abc{
  public Response serviceCall(Request r){}
}

public class Memcached{
 public Response get(Request r){}

public void put(Request r, Response rs){}
}

I want to use memcached for caching . The request would be the key and value would be the response. Whenever serviceCall() is called I want to check if request is already present in cache if so then return response from the cache.
If not then actually execute serviceCall() method and put request:response key:value in memcached

Is there any way in spring to achieve the same.

I did look into @Cacheable here http://www.baeldung.com/spring-cache-tutorial

But I am unable to understand how I make spring use my “Memcached” class, more specifically where do I wire my “Memcached” class so that it is available to class “Abc” in above example

Could you please help . I am working in spring boot completely annotation based and looking for annotation based solution

2

Answers


  1. You don’t need the memcached class. Just put the @Cacheable annotation on Abc.serviceCall as per the baeldung tutorial.

    Login or Signup to reply.
  2. Spring caching doesn’t support Memcached by out-of-the-box (Supported Cache Providers).

    If you want to use Memcached in your project please check out Memcached Spring Boot caching library.

    There is also an example Java project of how to use Memcached with Spring.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search