2014-01-31 5 views
0

채널 이름 과 가치를 = 내가 단순히 키를 설정하려면 레디 스에서 확인 = 중 하나를 지불하거나 무료 ... 레디 스 검색

그래서 결국 병이 목록 100S가 , 1000s 등 키 및 값 등 키 값을 지불하거나 무료 것입니다.

 channelName, paid or free 

는 그렇다면, 나는 무료 = 와서 를 검색하고 DB 나 값이 모든 채널을 제공 물어보고 싶은

무슨이를 설정하는 가장 좋은 방법/efficent 방법은?

나는 기본적으로 쿼리 목록 또는 딕셔너리에 특정 값을 동일 모든 키의 목록을 반환 할

...

+0

은 아마 무료 열쇠로 지불 사용하고 몇 가지 좀 방법 ... 해시 채널을 저장해야합니다, 당신은이를 설정하지 않는 – sirvon

+0

을 조사 흠 설정합니다. Redis는 키 - 값 저장소이며 특정 키와 관련된 값을 검색하도록 특별히 설계되었습니다. 여러 필드에서 쿼리 할 수있게하려면 관계형 또는 인덱싱 된 문서 데이터베이스와 같은 다른 데이터 구조가 필요합니다. – chrylis

+0

내 연구가오고있다 ... 망치 & 스크류 ​​... 나는 이것에 대한 가벼운 것을 원한다. 그리고 원격/호스트에 어떤 제안이 있어도된다. – sirvon

답변

1

당신은 sorted sets을 사용할 수 있으며, 멤버 값이 0 (무료)로 나 1 (유료).

단일 키에서 정렬 된 집합의 멤버를 저장할 수 있으며 각 멤버에는 소수 값이 지정됩니다. freepaid0 및값으로 추상화하면 구성원 (즉, 사례 채널)을 집합에 추가 한 다음 나중에 쿼리 할 수 ​​있습니다.

127.0.0.1:6379> ZADD mychannels 0 1stchannel 1 2ndchannel 1 3rdchannel 0 4thchannel 
(integer) 4 
127.0.0.1:6379> ZRANGEBYSCORE mychannels 0 0 /* Querying free channels */ 
1) "1stchannel" 
2) "4thchannel" 
127.0.0.1:6379> ZRANGEBYSCORE mychannels 1 1 /* Querying paid channels */ 
1) "2ndchannel" 
2) "3rdchannel" 
+0

!! 나는 정렬 된 세트에 대한 이해에 이르렀고 지금 당신은 나를 확장 할 훌륭한 예제를주었습니다 – sirvon

+0

당신은 환영합니다 =) – Niloct