Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Chiến lược bộ đệm ẩn mặc định khi sử dụng Redis với khởi động lò xo hoặc lò xo là gì?

Theo mặc định, bạn đặt bộ nhớ cache sang một bên, việc sử dụng bộ nhớ cache của chúng tôi trong ứng dụng khởi động Spring trông giống như sau

@Cacheable(cacheNames = "someCache")
public String cacheThis(String id){
    return "this Is it";
}

Trong hầu hết các trường hợp trong ứng dụng khởi động mùa xuân, chúng tôi lưu vào bộ nhớ cache kết quả của JPA hoặc các truy vấn DB khác. Trong những trường hợp như vậy, chúng tôi thêm Cacheable trên phương thức truy vấn, cung cấp cho chúng tôi tính năng sang một bên trong bộ nhớ cache.

Một ứng dụng có thể mô phỏng chức năng của bộ nhớ đệm đọc qua bằng cách thực hiện chiến lược bỏ qua bộ nhớ cache. Chiến lược này tải dữ liệu vào bộ nhớ cache theo yêu cầu.

Tham khảo:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside

Sử dụng mẫu sang một bên bộ nhớ cache không phải lúc nào cũng là giải pháp cho một vấn đề, tùy thuộc vào trường hợp sử dụng của bạn, bạn có thể phải thay đổi chiến lược bộ nhớ đệm. Việc thay đổi chiến lược bộ nhớ đệm không diễn ra ngay lập tức ngoại trừ một số chú thích mà chúng tôi biết từ Spring framework như

  • Có thể lưu vào bộ nhớ cache
  • CacheEvict
  • CachePut

Bạn cần cập nhật mã ứng dụng của mình để sử dụng các chiến lược bộ nhớ đệm khác, mặc dù bạn có thể xây dựng bất kỳ chiến lược bộ nhớ đệm nào bằng cách sử dụng các chú thích này. Nếu bạn không thích sử dụng các chú thích này thì hãy chơi với đối tượng bộ đệm thực tế, bất kỳ lúc nào bạn có thể gọi các phương thức Cache để sửa đổi bộ đệm.

ví dụ:

Cache myCache = cacheManager.getCache("myCache"); 

Sau khi có đối tượng bộ đệm, bạn có thể gọi tất cả các phương thức có liên quan, một số phương thức có thể không hoạt động như mong đợi do giới hạn của bộ đệm bên dưới.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để lưu trữ mảng kết hợp? Đặt hoặc băm hoặc danh sách?

  2. Kết nối WebSocket với <URL> không thành công:Lỗi trong quá trình bắt tay WebSocket:Mã phản hồi không mong muốn:521

  3. Làm cách nào để bật các đối tượng từ Redis khi chúng được thêm vào thời gian thực?

  4. Redis xuất bản / đăng ký:xem những kênh nào hiện được đăng ký

  5. Khái niệm Redis:Trong bộ nhớ hay DB?