2011-05-04 41 views
5

我不理解如何在Redis中創建持久存儲。使用選項散列是我看到在路徑中傳遞的唯一位置,它似乎沒有任何影響。如何命名和存儲我的數據集在redis中?

> 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" 

回答

9

的Redis已經是一個持久存儲,並且你發現:path選項來指定一個Unix套接字使用去跟運行Redis的服務器代替TCP連接(在Redis的2.2支持)的,不指定一個實際的數據庫文件。

你們是不是要能夠有獨立的數據庫,這樣,當你設置r['foo'] = 'bar's['foo']仍然返回nil

如果是這樣,Redis允許您連接到多個編號的數據庫,缺省值爲#0(這是中的/0)。要選擇不同的數據庫:

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 
相關問題