2013-01-11 8 views
11

Czy możemy użyć MongoDB jako zamiennika biblioteki pamięci podręcznej (memcache i memcached)?MongoDB jest lepszym zamiennikiem Memcached?

i jakie są szacunki w bibliotece MongoDB i buforowaniu pamięci.

+0

Myślę, że jedną różnicą jest to, że biblioteka pamięci podręcznej zapewnia przedział czasu dla zachowania określonego czasu obiektu, ale z mongoDB nie możemy tego zrobić. – Ayaz

+0

Nie jest to złe pytanie - zdecydowanie ma pierwszeństwo w używaniu MongoDB jako pamięci podręcznej. –

+0

@CRUSADER Właściwie MongoDB powstał z myślą o dwóch studiach przypadku. Obie były jako warstwa pamięci masowej, ale jedna służyła do wymiany bazy danych, a druga do wymiany pamięci podręcznej. – Sammaye

Odpowiedz

6

Największy problem masz z MongoDB jest to, że naturalnie nie wszystko i mocno załadować do pamięci w przeciwieństwie memcached, która, jak w jego imieniu, jest sklep wartość klucza w pamięci.

Należy również wziąć pod uwagę, że MongoDB nie zarządza pamięcią dla siebie, zamiast tego pozwala systemowi operacyjnemu na całkowitą kontrolę nad nim za pomocą natywnego algorytmu LRU. Nie mogę zgłębić żadnych problemów, które mogą ci dać, ponieważ nie mam Twoich danych ani indeksów ani zapytań.

Jednak wiele osób, które próbują używać memcache'a jako bazy danych (co wielu robi), odkrywa, że ​​nie jest to szczególnie szybkie w tym działaniu (nie zostało to zaprojektowane specjalnie do tego celu) i właśnie tam przechodzi MongoDB.

To, czy MongoDB zastępuje memcache, zależy od potrzeb, ale w razie potrzeby MongoDB musi zastąpić pamięć podręczną, a równie dobrze można zastąpić SQL MongoDB, to jest moja szczera opinia na temat to dlatego, że zacierasz linie między pamięcią podręczną a pamięcią masową.

7

Jednym z głównych problemów z MongoDB jako magazynem pamięci podręcznej jest to, że nie ma mechanizmu wygaśnięcia. Więcej szczegółów na temat tego można znaleźć w this answer.

ZAKTUALIZOWANA Od MongoDB v2.2 umożliwia TTL dla kolekcji. Dzięki JohnnyHK za wskazanie.

Proponuję użyć Redis for caching i MongoDB jako bazy danych. Działają razem dobrze.

+3

Od wersji MongoDB 2.2, która nie jest już prawdą: http://docs.mongodb.org/manual/tutorial/expire-data/ – JohnnyHK

+0

@JohnnyHK Dobry punkt! Dziękuję Ci! – Voldy