Вот как я кеширую данные для GET запроса:
@Cacheable(value = "userCache", key = "T(de.hybris.platform.commercewebservicescommons.cache.CommerceCacheKeyGenerator).generateKey(true,true,'DTO',#currentPage,#pageSize,#sort,#fields)")
public UsersDTO getUsers(final int currentPage, final int pageSize, final String sort,
final String fields)
{
// Code......
}
Как я могу удалить только 'DTO' из кэша для других запросов, например, когда я запускаю запрос DELETEЯ хочу удалить «DTO»?И можем ли мы сделать это с помощью аннотации?
Сейчас я делаю это, но думаю, что он удаляет весь userCache
public void updateUserCache()
{
final Cache cache = cacheManager.getCache("userCache");
final Ehcache ehCache = (Ehcache) cache.getNativeCache();
ehCache.getKeys().forEach(key -> {
cache.evict(key);
});
}