6

Giả sử tôi có hai nút memcached (nút A, B) ngay từ đầu, và khi tôi thêm một mới nút C, một phần trong những chìa khóa được ánh xạ và nhờ băm đồng nhất chỉ một số trong số chúng.dữ liệu thiu xử lý với memcached/phù băm

Giả sử một giá trị với phím "foo" ban đầu tại máy chủ A bây giờ là để ánh xạ tới máy chủ C.

Khi tôi cuối cùng đã loại bỏ nút C, chìa khóa nên được ánh xạ tới nút A một lần nữa, nhưng tại thời điểm đó nút A chỉ chứa dữ liệu cũ.

Vì vậy, đang xóa dữ liệu theo cách duy nhất để giải quyết vấn đề này?

Trả lời

2

Tôi nghĩ rằng điều duy nhất bạn phải làm với dữ liệu cũ là ... không có gì! bạn biết rằng nếu bạn giới thiệu một máy chủ mới, một phần của bộ nhớ cache sẽ bị vô hiệu. đó là tất cả! hãy để memcached để thoát khỏi dữ liệu cũ cho bạn khi thời điểm đó đến!

một điều nữa là bạn không thể loại bỏ các đối tượng cũ bằng chính mình, bởi vì bạn không biết máy chủ nào lưu trữ đối tượng đó (cảm ơn thuật toán băm nhất quán).

hy vọng sẽ trả lời câu hỏi của bạn.

2

Sự cố của bạn sẽ được chuyển thành "dữ liệu trong bộ nhớ cache của bạn đã cũ"; vậy làm thế nào để sửa nó?

Vì vậy, bạn cần cập nhật bộ nhớ cache với giá trị mới nhất. Tôi không nghĩ rằng có bất kỳ thay thế cho điều này. Bạn có thể xem xét các cách tiếp cận khác nhau để tối ưu hóa nó tùy thuộc vào yêu cầu hệ thống của bạn.

Các vấn đề liên quan