2012-12-03 59 views
8

Tôi đang xem xét việc chuyển một ứng dụng Java sang .NET. Ứng dụng hiện đang sử dụng EhCache khá nhiều và nhấn mạnh rằng nó muốn hỗ trợ tính nhất quán cao (http://ehcache.org/documentation/get-started/tùy chọn nhất quán).Redis có hỗ trợ tính nhất quán cao không

Tôi muốn sử dụng Redis thay cho EhCache nhưng Redis có hỗ trợ tính nhất quán cao hay chỉ hỗ trợ tính nhất quán cuối cùng không?

Tôi đã từng nói về một cụm Redis nhưng tôi đoán đây là một cách nhỏ để phát hành.

Hoặc tôi có đang xem điều này sai không? Nếu dụ Redis ngồi trên một máy chủ hoàn toàn khác nhau và phục vụ hai máy chủ giao diện người dùng có thể nhận được bao nhiêu trước khi chúng ta cần xem xét một phong cách Master/Slave?

Trả lời

8

Một phiên bản Redis nhất quán. Có nhiều tùy chọn cho sự nhất quán trong nhiều trường hợp. @antirez (nhà phát triển Redis) gần đây đã viết một bài đăng trên blog, Redis data model and eventual consistency và được đề xuất Twemproxy để xóa Redis, điều này sẽ cung cấp cho bạn tính nhất quán trong nhiều trường hợp.

Tôi không biết EhCache, vì vậy không thể nhận xét liệu Redis có phải là sự thay thế phù hợp hay không. Một vấn đề tiềm năng (chuyển sang .NET) với Twemproxy là nó dường như chỉ chạy trên Linux.

Cá thể Redis đơn lẻ lớn có thể nhận được bao nhiêu? Phụ thuộc vào lượng RAM bạn có. Làm thế nào nhanh chóng sẽ nhận được điều này lớn? Phụ thuộc vào cách dữ liệu của bạn trông như thế nào.

Điều đó nói rằng, theo kinh nghiệm của tôi, Redis lưu trữ dữ liệu khá hiệu quả. Một ứng dụng tôi có thông tin cho người dùng 200k, bài viết 20k, tất cả mối quan hệ giữa các đối tượng, bảng xếp hạng hàng tuần, số liệu thống kê, v.v. (tổng số 330 nghìn khóa) trong 400MB RAM.

Redis rất dễ sử dụng và thú vị để làm việc. Hãy dùng thử và xem nó có đáp ứng nhu cầu của bạn không. Nếu bạn quyết định sử dụng nó và có thể một ngày nào đó muốn phân mảnh, hãy phân phát dữ liệu của bạn ngay từ đầu.

+0

Cảm ơn, điều đó mang lại cho tôi quá đủ để tiếp tục! –

1

Redis không nhất quán mạnh mẽ trong hộp. Bạn có thể sẽ cần phải áp dụng các giải pháp của bên thứ 3 để làm cho nó phù hợp. Đây là trích dẫn từ tài liệu:

Viết an toàn Redis Cluster sử dụng sao chép không đồng bộ giữa các nút và chức năng hợp nhất cuối cùng. Điều này có nghĩa là tập dữ liệu tổng hợp được bầu cuối cùng sẽ thay thế tất cả các bản sao khác. Luôn luôn có một cửa sổ thời gian khi nó có thể mất ghi trong các phân vùng. Tuy nhiên, các cửa sổ này rất khác nhau trong trường hợp khách hàng được kết nối với đa số các bậc thầy, và một khách hàng được kết nối với thiểu số các bậc thầy.

Thông thường, bạn cần phải có bản sao đồng bộ để đạt được tính nhất quán cao trong hệ thống phân tán được phân phối.

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