J'ai créé deux services
qui utilise Spring Cache
. Dans la première méthode que je mets tous les documents qui sont faits alors que l'application commence:Mettre à jour l'élément dans le cache, puis appeler à nouveau findAll éléments ne met pas à jour l'élément
@CachePut(value = "items")
public Item save(Item item){
System.out.println("----------------- z cachea udated" + item);
return itemRepository.saveAndFlush(item);
}
Ainsi, lorsque l'application est en cours d'exécution dans les premiers pas je intégrer mes propres cache
. Je reçois tous les records:
@Cacheable(value = "items")
public Page<Item> getItems(Pageable pageRequest){
System.out.println("----------------- z cachea PAGEABLE");
Page<Item> all = itemRepository.findAll(pageRequest);
System.out.println("----------------- all" + all.getContent());
return all;
}
alors je mettre à jour un seul enregistrement en utilisant la méthode save()
et obtenir à nouveau tous les dossiers. Et à ce moment mon cache
n'a pas été changé du tout. À l'intérieur du cache
il y avait tous les enregistrements qui étaient dans le premier appel de méthode. Comment changer à l'intérieur du cache
seulement cet enregistrement qui a été affecté par la mise à jour?
Ceci est une mauvaise solution varient parce qu'il provoque des erreurs. Je l'ai essayé .. – bielas