Caching với Spring
Caching với Spring: @Cacheable, @CacheEvict, @CachePut, CacheManager, các provider (EhCache, Redis, Caffeine)
1Vai trò chính của annotation @Cacheable trong Spring là gì?
Vai trò chính của annotation @Cacheable trong Spring là gì?
Câu trả lời
@Cacheable lưu kết quả của một method vào cache để tránh thực thi lặp lại với cùng các tham số. Điều này cải thiện đáng kể hiệu năng cho các thao tác tốn kém như truy vấn cơ sở dữ liệu hoặc gọi API bên ngoài. Sử dụng @Cacheable cho các method đọc được gọi thường xuyên với cùng đối số để giảm tải lên tài nguyên.
2Annotation nào là cần thiết để bật hỗ trợ caching trong một ứng dụng Spring Boot?
Annotation nào là cần thiết để bật hỗ trợ caching trong một ứng dụng Spring Boot?
Câu trả lời
@EnableCaching kích hoạt hỗ trợ caching trong Spring Boot và phải được đặt trên một class cấu hình (thường là class chính được annotate bằng @SpringBootApplication). Nếu không có annotation này, các annotation cache như @Cacheable sẽ bị bỏ qua. Spring Boot tự động cấu hình một CacheManager trong bộ nhớ đơn giản (ConcurrentMapCacheManager) nếu không có cái nào khác được định nghĩa.
3Sự khác biệt chính giữa @Cacheable và @CachePut là gì?
Sự khác biệt chính giữa @Cacheable và @CachePut là gì?
Câu trả lời
@Cacheable bỏ qua việc thực thi method nếu kết quả đã có trong cache, trong khi @CachePut luôn thực thi method và cập nhật cache với kết quả mới. Dùng @Cacheable cho thao tác đọc (tránh tính toán lặp lại) và @CachePut cho các thao tác cập nhật cần làm mới cache mà không bỏ qua việc thực thi method.
Vai trò của annotation @CacheEvict trong Spring là gì?
Spring Boot cấu hình CacheManager nào theo mặc định nếu không có cái nào khác được định nghĩa?
+22 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Spring Boot khác
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging với SLF4J và Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Xử lý ngoại lệ
Bean Validation
Kiến thức cơ bản về Spring Data JPA
Thực thể JPA & Quan hệ
Truy vấn JPA
Spring Data Repositories
Cơ bản về Spring Security
Spring Boot Actuator
Kiểm thử đơn vị với JUnit & Mockito
Kiểm thử Spring Boot
Profiles và Environment
RestTemplate và WebClient
Async và Scheduling
Spring WebFlux (Reactive)
Giao dịch Spring
Xác thực và phân quyền nâng cao
JWT & Bảo mật Stateless
OAuth2 & Authorization Server
Spring Boot và Docker
Microservices với Spring
Spring Cloud Config
Tối ưu hóa hiệu năng
GraalVM Native Images
Nắm vững Spring Boot cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí