title: Spring Cacheable vs CachePut?
body: <pre><code>@CachePut or @Cacheable(value = "CustomerCache", key = "#id")
  public Customer updateCustomer(Customer customer) {
     sysout("i am inside updateCustomer");
      ....
      return customer;
  }
  </code></pre>
  
  <p>I found below documentation under <code>CachePut</code> source code</p>
  
  <blockquote>
    <p>CachePut annotation does not cause the target method to be skipped -
    rather it always causes the method to be invoked and its result to be
    placed into the cache.</p>
  </blockquote>
  
  <p>Does it mean if I use <code>@Cacheable</code> , updateCustomer method will be executed only once and result will be updated in cache. Subsequent calls to
  updateCustomer will not execute updateCustomer , it will just update the cache. </p>
  
  <p>While in case of <code>@CachePut</code>, <code>updateCustomer</code> method will be executed on each call and result will be updated in cache. </p>
  
  <p>Is my understanding correct?</p>