2011-06-08 22 views

cevap

24

AFAIK'in bunlara başvurmak için tek yolu. Sizin gibi 2 karma dizisi var: {foo: 'bar', baz: 'qux'}.

Sen bunları ayrı ayrı saklamak ve daha sonra hepsini başvuran bir SET oluşturmak istiyorum:

Sonra
HMSET myarr:0 foo bar baz qux 
SADD myarr myarr:0 
HMSET myarr:1 foo bar baz qux 
SADD myarr myarr:1 

Eğer set sorgulayarak hepsini alabilirsiniz: SMEMBERS myarr ve sonra tüm döndü tuşlarını HGETALL <key> çağrı Orijinal karma dizinizi yeniden oluşturun.

Umarım bu mantıklıdır. Ve daha akıllı bir yol bulursanız bunu duymaktan mutluluk duyarım.

2

Json dönüşümü/dilini destekleyen bir dil kullanıyorsanız, karma öğenizi json'a dönüştürebilir ve listeye ekleyebilirsiniz. Aşağıdakileri Ruby'de yapabilirsin:

require 'rubygems' 
require 'redis' 
require 'json' 
require 'pp' 

redis = Redis.new(:host => '127.0.0.1', :port => 6379) 

h1 = { :k1 => 'v1', :k2 => 'v2' } 
redis.rpush('arr', h1.to_json) 

h2 = { :k3 => 'v3', :k4 => 'v4' } 
redis.rpush('arr', h2.to_json) 

hashes = redis.lrange('arr', 0, -1) 
hashes.map! { |x| JSON.parse(x) } 
pp hashes 
+0

Bunu yapmanın yolu budur! – radtek