Redis không biết liệu dữ liệu trong DB đã được cập nhật hay chưa.
Thông thường, chúng tôi sử dụng Redis để lưu vào bộ nhớ cache dữ liệu như sau:
- Khách hàng kiểm tra xem dữ liệu, ví dụ:cặp khóa-giá trị, tồn tại trong Redis.
- Nếu khóa tồn tại, khách hàng sẽ nhận được giá trị tương ứng từ Redis.
- Nếu không, nó lấy dữ liệu từ DB và đặt nó thành Redis. Ngoài ra, ứng dụng khách đặt thời hạn, giả sử
5
phút, đối với cặp khóa-giá trị trong Redis. - Sau đó, bất kỳ yêu cầu nào tiếp theo cho cùng một khóa sẽ được Redis phục vụ. Mặc dù dữ liệu trong Redis có thể đã lỗi thời.
- Tuy nhiên, sau
5
phút, khóa này sẽ tự động bị xóa khỏi Redis. - Chuyển đến bước 1.
Vì vậy, để cập nhật dữ liệu của bạn trong Redis, bạn có thể đặt thời gian hết hạn ngắn. Tuy nhiên, DB của bạn phải phục vụ rất nhiều yêu cầu.
Nếu bạn muốn giảm phần lớn yêu cầu đối với DB, bạn có thể đặt thời gian hết hạn lớn. Vì vậy, hầu hết thời gian, Redis có thể phục vụ các yêu cầu với dữ liệu có thể có.
Bạn nên cân nhắc cẩn thận về sự đánh đổi giữa hiệu suất và dữ liệu theo dõi.