[REDIS] 페이스 북 앱에 대한 레디 스 &시나와 지리 공간 색인
REDIS페이스 북 앱에 대한 레디 스 &시나와 지리 공간 색인
나는시나 & 레디 스 페이스 북에 연인을 재건하고있어, 내가 원하는 :
각 사용자는 두 세트가 레디 스 (reqSent 및 reqRecv) 해당 점포의 UID 명령했다. 우리가 요청을 주문 점수는 요청이 만들어진 시간 (UNIX 타임 스탬프)입니다. 사용자는 요청 유형 (RID)를 숫자로 인코딩 uid가 앞에 추가 할 수 있기 때문에 내가 대신 목록의 순서 집합을 사용하고 있습니다. UID = 100 사용자에 대한 일예 | (RID UID), 우리는있을 수 있습니다 :
100:reqSent => ["1|123", "2|123", "2|134"] # format: ["rid|tid"]
100:reqRecv => ["3|343", "5|142", "4|2224"] # format: ["rid|uid"]
MongoDB를 내가 그 전환 생각하고, 그래서 기본적으로 지리 공간 색인을 지원합니다.
그렇지 않으면, 어떻게 레디 스와 지리 공간 색인을 구현해야합니까? 나는 그것은 태양 흑점 (localsolr)로해야합니까? 분명히, 당신은 레디 스에 태양 흑점을 사용할 수 있습니다.
해결법
-
==============================
1.나는 여러 플랫폼을 피하기 위해 같은과 레디 스를 사용하여 비슷한 구현했습니다. 지리 공간 색인은 모두 레디 스에서 무엇을 색인에 서로 다른되지 않습니다. 당신은 당신은 그 지역의 모든 사용자를 포함하는 세트 키로 숫자보다 사용, 긴 적절한 영역을 커버하는 단일 번호로 / 위도 변환하는 기능이 필요합니다. 당신은 아마도 그 세트를 검색, 지역 오른쪽을 선택한 경우 이웃 중 일부는 정렬 / 최종 필터링에 실제 거리 계산을 실행하면 사용자의 적절한 수를 얻어야한다.
나는 여러 플랫폼을 피하기 위해 같은과 레디 스를 사용하여 비슷한 구현했습니다. 지리 공간 색인은 모두 레디 스에서 무엇을 색인에 서로 다른되지 않습니다. 당신은 당신은 그 지역의 모든 사용자를 포함하는 세트 키로 숫자보다 사용, 긴 적절한 영역을 커버하는 단일 번호로 / 위도 변환하는 기능이 필요합니다. 당신은 아마도 그 세트를 검색, 지역 오른쪽을 선택한 경우 이웃 중 일부는 정렬 / 최종 필터링에 실제 거리 계산을 실행하면 사용자의 적절한 수를 얻어야한다.
지리 공간 쿼리의 일반적인 경우는 구현하기가 매우 어려울 것이다, 그러나 당신은 그것을 필요로 레디 스 임시 쿼리에 대한 잘못된 플랫폼 어쨌든하지 않습니다.
-
==============================
2.당신이 MongoDB를 유효한 옵션을 생각하면 레디 스에서 지리 공간 색인을 구현하는 것은 소모 엄청나게 시간을 울립니다. 몽고 빠르고와 작업에 아주 좋은 것입니다. 쿼리의 대부분이 지리 공간 인덱스에있을 경우 내 의견으로는 몽고를 사용하지 않을 이유가 없다.
당신이 MongoDB를 유효한 옵션을 생각하면 레디 스에서 지리 공간 색인을 구현하는 것은 소모 엄청나게 시간을 울립니다. 몽고 빠르고와 작업에 아주 좋은 것입니다. 쿼리의 대부분이 지리 공간 인덱스에있을 경우 내 의견으로는 몽고를 사용하지 않을 이유가 없다.
나는 종종 자신이 같은 프로젝트에 몽고와 레디 스를 모두 사용하여 찾을 수 있습니다. 둘 다 매우 유용한 특성을 가지고 있으며, 일부 사용 사례는 몽고에 정말 잘 작동하고, 레디 스의 일부. 그러나, 그 반대도 마찬가지입니다, 몇 가지, 정말 잘 레디 스에서 얻을 정말 열심히, 그리고 다른 일들이 몽고에 실질적으로 불가능합니다. 지리 인덱스는 이전 세트와 작업 후자의 예를 나타내는 예이다.
또한, 태양 흑점에 대해 많이 모르고, 정말 레디 스를 사용해야합니까? 그것은 저장을 위해 파일 시스템을 사용 SOLR를 사용하지 않는 이유는 무엇입니까? 당신이 거기에 레디 스를 얻을 수있는 것처럼 나에게 소리가 나지 않는다, 나는 완전히 틀렸다하지 않는 한 나는 당신이 확실히 MongoDB를 함께 가야한다고 말할 것입니다.
from https://stackoverflow.com/questions/4637031/geospatial-indexing-with-redis-sinatra-for-a-facebook-app by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 외부 Laravel (NodeJS)로부터 Laravel 대기열로 푸시 (0) | 2020.01.21 |
---|---|
[REDIS] 어떻게 BookSleeve / 레디 스에서 PubSub 작동합니까? (0) | 2020.01.20 |
[REDIS] 노드 / 레디 스 및 콜백와 제어 흐름 문제? (0) | 2020.01.20 |
[REDIS] 어떤 명령이나 LUA 스크립트를 사용하여 레디 스에 저장된 여러 설정을 읽는 방법 (0) | 2020.01.20 |
[REDIS] 레디 스 데이터 구조 공간 요구 사항 (0) | 2020.01.20 |