2013-12-23 6 views
0

Events:21039-lat:101.2321-long:24.3143 키가 있습니다. 자, 다음과 같이되는 모든 키를 검색하고 싶습니다 : Events:*-lat:[any number between 99.2321 and 103.2321]-long:[any number between 23.3143 and 25.3143].키로 숫자 범위 사용

키를 사용하기로 결정한 이유는 많은 이벤트가 작성되지 않았기 때문에 많은 읽기 슬레이브를 가질 수 있기 때문입니다. 그렇지 않으면 매우 확장 불가능한 방식으로이 계산을 수행해야합니다. w. mysql. 그래도 더 좋은 방법이 있습니까?

+0

다음과 같은 대답을 수락하십시오. –

답변

3

프로덕션 환경에서 키를 사용하지 않는 것이 좋습니다. 시간 복잡도는 O(N)이고 N은 데이터베이스의 키 수입니다. (출처 : http://redis.io/commands/keys)

setEvents:* 개의 키를 유지할 수 있습니다. sMembers()을 사용하여 set을 읽고 해당 키를 가져옵니다.

추가 네트워크 호출이 걱정되는 경우에는 파이프 라인을 사용하십시오.