JAVA_IIBRARY Telegram 1439
@CacheEvict, @CachePut и @Cacheable

Эти аннотации используются для управления кэшированием.

Сначала включим это, используя @EnableCaching, как показано ниже:

@SpringBootApplication
@EnableCaching
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}


Пример:

@Service
public class ProductService {

private final ProductRepository productRepository;

public ProductService(ProductRepository productRepository) {
this.productRepository = productRepository;
}

@Cacheable(value = "products", key = "#id", condition = "#id > 0")
public Product getProductById(Long id) {
// Будет выполнен только если результат отсутствует в кэше
return productRepository.findById(id)
.orElseThrow(() -> new ProductNotFoundException(id));
}

@CachePut(value = "products", key = "#product.id")
public Product updateProduct(Product product) {
// Будет выполнен всегда, и результат обновит кэш
return productRepository.save(product);
}

@CacheEvict(value = "products", key = "#id")
public void deleteProduct(Long id) {
// Удалит запись из кэша
productRepository.deleteById(id);
}

@CacheEvict(value = "products", allEntries = true)
public void clearProductCache() {
// Полностью очистит кэш
}
}


👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/Java_Iibrary/1439
Create:
Last Update:

@CacheEvict, @CachePut и @Cacheable

Эти аннотации используются для управления кэшированием.

Сначала включим это, используя @EnableCaching, как показано ниже:

@SpringBootApplication
@EnableCaching
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}


Пример:

@Service
public class ProductService {

private final ProductRepository productRepository;

public ProductService(ProductRepository productRepository) {
this.productRepository = productRepository;
}

@Cacheable(value = "products", key = "#id", condition = "#id > 0")
public Product getProductById(Long id) {
// Будет выполнен только если результат отсутствует в кэше
return productRepository.findById(id)
.orElseThrow(() -> new ProductNotFoundException(id));
}

@CachePut(value = "products", key = "#product.id")
public Product updateProduct(Product product) {
// Будет выполнен всегда, и результат обновит кэш
return productRepository.save(product);
}

@CacheEvict(value = "products", key = "#id")
public void deleteProduct(Long id) {
// Удалит запись из кэша
productRepository.deleteById(id);
}

@CacheEvict(value = "products", allEntries = true)
public void clearProductCache() {
// Полностью очистит кэш
}
}


👉 Java Portal

BY Java Portal | Программирование


Share with your friend now:
tgoop.com/Java_Iibrary/1439

View MORE
Open in Telegram


Telegram News

Date: |

Ng Man-ho, a 27-year-old computer technician, was convicted last month of seven counts of incitement charges after he made use of the 100,000-member Chinese-language channel that he runs and manages to post "seditious messages," which had been shut down since August 2020. How to Create a Private or Public Channel on Telegram? ‘Ban’ on Telegram Write your hashtags in the language of your target audience. In 2018, Telegram’s audience reached 200 million people, with 500,000 new users joining the messenger every day. It was launched for iOS on 14 August 2013 and Android on 20 October 2013.
from us


Telegram Java Portal | Программирование
FROM American