Tôi không biết ai đã nói điều đó nhưng MongoDB có một cách để lưu các truy vấn vào bộ nhớ cache, trên thực tế, nó sử dụng LRU của hệ điều hành để lưu vào bộ nhớ cache vì nó không tự quản lý bộ nhớ.
Miễn là tập hợp làm việc của bạn phù hợp với LRU mà không cần Hệ điều hành phải trang nó ra hoặc hoán đổi liên tục, bạn nên đọc truy vấn này từ bộ nhớ vào hầu hết các thời điểm. Vì vậy, có, MongoDB có thể lưu vào bộ nhớ cache nhưng về mặt kỹ thuật thì không; hệ điều hành không.
Cơ chế lưu vào bộ đệm để giải quyết những vấn đề này giống nhau trên hầu hết các công nghệ cho dù chúng bằng MongoDB hay SQL. Tất nhiên, điều này chỉ quan trọng nếu nó là một vấn đề, bạn có thể đang tối ưu hóa vi mô nếu bạn hỏi tôi; trừ khi bạn nhận được lưu lượng truy cập loại Facebook hoặc Google hoặc Youtube.
Chủ đề bộ nhớ đệm đi vào một chủ đề lớn, từ truy vấn bộ nhớ đệm trong MongoDB / Memcache / Redis, v.v. được tổng hợp trước đến bộ đệm HTML và các tài nguyên web khác để thực hiện càng ít công việc càng tốt trên máy chủ.
Tình huống của bạn, theo cá nhân tôi đã nói, nghe có vẻ như bạn đang nghĩ sai về sức mạnh máy tính bị lãng phí. Ngay cả khi bạn đã lưu truy vấn này vào bộ nhớ cache trong một bộ sưu tập / công nghệ khác, bạn có thể sẽ sử dụng cùng một lượng năng lượng và tài nguyên để truy xuất kết quả từ công nghệ đó hơn là nếu bạn không bận tâm. Tuy nhiên, giả định đó là do bạn có chỉ mục, lược đồ, thiết lập phù hợp, v.v.
Tôi khuyên bạn nên đọc một số liên kết về thiết kế lược đồ tốt và tạo chỉ mục:
- http://docs.mongodb.org/manual/core/indexes/
- https:// docs .mongodb.com / manual / core / data-model-Operating / # large-number-of-collection
Đúng vậy, tôi nghĩ rằng bằng cách cố gắng lo lắng về bộ nhớ đệm truy vấn, bạn đang tối ưu hóa trước khi trưởng thành, đặc biệt nếu bạn không muốn gỡ bỏ, 90% tải trên máy chủ của bạn mỗi lần; đang tải trang.
Tôi sẽ tập trung vào lược đồ và chỉ mục của bạn, sau đó lo lắng về bộ nhớ đệm nếu bạn thực sự cần.