2011-08-01 5 views
3

활성 데이터, 로그인 한 사용자 등을 저장하는 Redis로 시작했습니다. 우리는 실시간 데이터 전달을 위해 일부 pubsub도 사용하고 있습니다. MongoDB와 Redis를 함께 사용 하시겠습니까?

최근 우리는 우리의 지리적 공간의 요구에 맞게 몽고를 추가하고, 너무 비활성 데이터를 큰 것 같다.

이 두 기능을 함께 사용하려면 어떻게해야합니까? 둘 다 사용하는 것이 바보입니까? 그것이 활성화 될 때 mongo에서 redis로 데이터 덩어리를 전달하는 것은 멍청한가요?

우리의 생각은 우리가 몽고에 모든 것을 저장하지만 사용자가 활성화되고 데이터에 액세스 할 가능성이 때 레디 스에 몽고에서 사용자 데이터를 전달할 수 있음을했다. 나는 몽고가 독자적으로 이것을 캐싱하는 것을 알고 있습니다. 우리는 둘 다 새로운 것이고, 어떻게 사용되어야 하는지를 알고 싶습니다.

감사합니다.

답변

5

모두를 사용하는 바보? 그것이 활성화 될 때 mongo에서 redis로 데이터 덩어리를 전달하는 것은 멍청한가요?

실제로이 질문을 테스트하고 검증하는 것이 합법적 인 것 같습니다. Redis는 기본적으로 "in-memory"DB입니다. 따라서 RAM을 Mongo에 제공하면 얼마나 좋습니다.

역사적으로, 우리는 기본적으로 MySQL로 "RAM을 추가"하고 할 필요가 쓰는 양을 제한하기 위해 Memcache는/MySQL의 콤보를 사용했습니다. 우리는 MySQL을 파기하기가 복잡하기 때문에 간단하게이 작업을 수행했습니다.

그러나 MongoDB를는 샤딩 메커니즘을 제공한다. 따라서 샤드를 추가하여 문제에 "RAM 추가"("디스크 추가"와 함께)를 할 수 있습니다. 메모리 매핑 된 파일의 작업 방식에

덕분에, MongoDB를 메모리에 최근에 사용 된 데이터를 유지하는 경향이있다. 최근 데이터를 Redis로 가져오고 있다면, 그 데이터는 아마도 MongoDB 측의 메모리에도있을 것입니다. 따라서 두 곳에서 데이터를 얻는 것이 도움이되는지 확실하지 않습니다.

벙어리가되어 ... 일부 테스트 및 분석하지 않고 말을하기 어렵다

. MongoDB는 pub/sub 메커니즘을 가지고 있지 않지만 빠른 쿼리 시간을 갖는 경향이 있으므로 특정 지점에서 적절할 수 있습니다.

+0

그래, 우리는 서로 다른 이유로 그 둘을 좋아하고 우리가 사용하는 것에 크게 기여하고 있습니다. 우리는 둘 다 계속 사용할 것입니다. 지능적으로 경로를 교차시키는 위치를 파악하면됩니다. 통찰력에 감사드립니다! – fancy

관련 문제