2011-05-04 13 views
5

Redis'te kalıcı bir mağazanın nasıl yapıldığını anlamıyorum. Opsiyon karmalarını kullanmak, bir yoldan geçmek için gördüğüm tek yer ve herhangi bir etkisi yok gibi görünüyor.Veri kümemi nasıl redis olarak adlandırabilir ve depolayabilirim?

> r = Redis.new({:options => {:path => '~/redis_store'}}) 
=> #<Redis client v2.2.0 connected to redis://127.0.0.1:6379/0 (Redis v2.9.0)> 
> r['foo'] 
=> "bar" 
> s = Redis.new({:options => {:path => '~/redis_store2'}}) 
=> #<Redis client v2.2.0 connected to redis://127.0.0.1:6379/0 (Redis v2.9.0)> 
> s['foo'] 
=> "bar" 

cevap

9

Redis zaten kalıcı mağaza olduğunu ve buldum :path seçeneği (REDIS 2.2'de desteklenir) bir TCP bağlantısının yerine çalışan Redis sunucusuyla iletişim kurabilmek için kullanılacak bir unix soket değil atama yetkisine gerçek bir veritabanı dosyası belirtin.

r['foo'] = 'bar', s['foo']'u ayarladığınızda nil hala dönüyor mu?

Eğer öyleyse, Redis birden fazla numaralı veritabanına bağlanmanıza izin verir, varsayılan # 0'dır (bu, /0'un connected to redis://127.0.0.1:6379/0 sürümündedir). Farklı bir veritabanı seçmek için:

r = Redis.new 
=> #<Redis client v2.2.0 connected to redis://127.0.0.1:6379/0 (Redis v2.9.0)> 
r['foo'] = 'bar' 

s = Redis.new(:db => 1) 
=> #<Redis client v2.2.0 connected to redis://127.0.0.1:6379/1 (Redis v2.9.0)> 
s['foo'] 
# => nil 
İlgili konular