2009-11-23 7 views
1

이 종류의 루비 데이터 구조를 저장하려면 redis (http://code.google.com/p/redis/) 을 사용하는 것이 좋습니다.redis에서이 루비 구조를 모델링하는 방법

이 있다고 가정하자 :

node1server1 = { "volume1" => 10400, "volume2" => 11221, "volume3" => 13212, "volume4" => 17227 } 
node1server2 = { "volume1" => 17450, "volume2" => 14241, "volume3" => 15512, "volume4" => 12427 } 

node2server1 = { "volume1" => 17655, "volume2" => 16754, "volume3" => 19877, "volume4" => 10000 } 
node2server2 = { "volume1" => 11456, "volume2" => 13776, "volume3" => 18766, "volume4" => 16555 } 

사용하는 더 나은 레디 스 데이터 유형은 무엇입니까?

데이터를 업데이트해야하며 node1server1 + node1server2 및 node2server1 + node2server2 값을 정렬해야합니다.

답변

1

게시 한 지 오래되었지만 데이터를 정렬하는 방법에 대한 정보를 조금 더 제공 할 수 있습니까? 그래서

node_id:1:server_id:1:volume_id:1 = 10400 
node_id:1:server_id:1:volume_id:2 = 11221 
node_id:1:server_id:1:volume_id:3 = 13212 
node_id:1:server_id:1:volume_id:4 = 17227 
node_id:1:server_id:2:volume_id:1 = 17450 
node_id:1:server_id:2:volume_id:1 = 14241 
... 
node_id:1:volumes = SET("server_id:1:volume_id:1", "server_id:1:volume_id:2", "server_id:1:volume_id:3", "server_id:1:volume_id:4", "server_id:2:volume_id:1", "server_id:2:volume_id:2", "server_id:2:volume_id:3", "server_id:2:volume_id:4") 

:

또한, I는 서버 당 볼륨의 변수 수, 노드 당 서버의 변수 번호 다음대로 할

한 가지 방법이있을 수 있음을 울부 짖는 가정 노드 1의 모든 볼륨 번호의 정렬 된 목록을 얻을 수 있습니다 : 1 : 볼륨 각 노드와 NODE_ID의 정렬 된 버전에 할당 된 값을 기준으로 정렬 할

SORT node_id:1:volumes BY node_id:1:* 

....

양자 택일로, 당신은 또한 오히려 목록보다, 내가 여기에 세트를 사용하고 있습니다

레디 스 1.1의 새로운입니다 ZSET를 사용할 수 있습니다. 나는리스트가 큐와 스택의 관점에서 기술 된 구조에 더 유용하며, SET가 고유 아이템 목록에 더 좋다는 것을 알았다.

참고 :