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

Làm cách nào để Redis biết được liệu nó phải trả lại dữ liệu đã lưu trong bộ đệm hay dữ liệu mới từ DB

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:

  1. 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.
  2. Nếu khóa tồn tại, khách hàng sẽ nhận được giá trị tương ứng từ Redis.
  3. 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.
  4. 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.
  5. Tuy nhiên, sau 5 phút, khóa này sẽ tự động bị xóa khỏi Redis.
  6. 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.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis Nhiều người đăng ký

  2. Làm cách nào để nhận các giá trị từ Redis bằng cách sử dụng các khóa có chứa khoảng trắng?

  3. Redis:Cách truy cập tệp nhật ký Redis

  4. Hậu quả của việc vô hiệu hóa những câu chuyện phiếm, sự hòa đồng và nhịp tim đối với những người làm cần tây là gì?

  5. Giới thiệu về cấu trúc dữ liệu Redis:Tập hợp được sắp xếp