2013-01-11 26 views
11

Chúng ta có thể sử dụng MongoDB như là một sự thay thế của thư viện bộ nhớ đệm (memcache và memcached).?MongoDB có thay thế Memcached tốt hơn không?

và các tùy chọn trong MongoDB và Thư viện bộ nhớ đệm.

+0

Tôi nghĩ rằng một sự khác biệt là thư viện bộ nhớ đệm cung cấp khoảng thời gian để giữ cho đối tượng thời gian cụ thể, nhưng với mongoDB chúng tôi không thể làm điều đó. – Ayaz

+0

Không phải là một câu hỏi tồi - chắc chắn có ưu tiên trong việc sử dụng MongoDB làm bộ đệm. –

+0

@CRUSADER Trên thực tế MongoDB đã được thực hiện với hai nghiên cứu trường hợp trong tâm trí. Cả hai đều là một lớp lưu trữ nhưng một là cho một thay thế cơ sở dữ liệu và một là cho một thay thế bộ nhớ cache. – Sammaye

Trả lời

6

Vấn đề lớn nhất mà bạn có với MongoDB là nó không tự nhiên và mạnh mẽ nạp tất cả mọi thứ vào bộ nhớ không giống như memcached, trong đó, như tên của nó, là một cửa hàng giá trị quan trọng trong bộ nhớ.

Bạn cũng phải xem xét rằng MongoDB không quản lý bộ nhớ cho chính nó, thay vào đó nó sẽ cho phép hệ điều hành kiểm soát hoàn toàn bằng cách sử dụng thuật toán LRU gốc. Tôi không thể hiểu được bất kỳ vấn đề nào mà điều này có thể cung cấp cho bạn bởi vì tôi không có dữ liệu hoặc chỉ mục hoặc truy vấn của bạn. Tuy nhiên nhiều người cố gắng sử dụng memcache như một cơ sở dữ liệu (mà nhiều người làm) đang tìm kiếm rằng nó không phải là đặc biệt nhanh chóng làm điều đó (không thực sự được thiết kế cho nó) và đây là nơi MongoDB vượt qua. Có hay không MongoDB là một thay thế cho memcache phụ thuộc vào nhu cầu của bạn, nhưng nếu bạn cần là MongoDB cần thay thế bộ đệm thì bạn cũng có thể thay thế SQL bằng MongoDB, đó là ý kiến ​​trung thực của tôi về vấn đề bởi vì bạn đã làm mờ các dòng giữa bộ nhớ cache và bộ nhớ.

7

Một trong những vấn đề chính với MongoDB là lưu trữ bộ nhớ cache là nó không có cơ chế hết hạn. Thông tin chi tiết về điều đó bạn có thể tìm thấy trong this answer.

CẬP NHẬT Vì MongoDB v2.2 nó cho phép TTL cho bộ sưu tập. Nhờ JohnnyHK để chỉ.

Tôi đề xuất sử dụng Redis for caching và MongoDB làm cơ sở dữ liệu. Họ làm việc tốt đẹp với nhau.

+3

Kể từ MongoDB 2.2 không còn đúng: http://docs.mongodb.org/manual/tutorial/expire-data/ – JohnnyHK

+0

@JohnnyHK Điểm tốt! Cảm ơn bạn! – Voldy

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