Jer*_*ith 5 ruby ruby-on-rails 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"
Run Code Online (Sandbox Code Playgroud)
Redis已经是一个持久存储,:path您找到的选项是指定一个unix套接字用于与正在运行的Redis服务器通信而不是TCP连接(在Redis 2.2中支持),而不是指定实际的数据库文件.
您是否正在尝试拥有独立的数据库,以便在设置r['foo'] = 'bar'时s['foo']仍然可以返回nil?
如果是这样,Redis允许您连接到多个编号的数据库,默认为#0(这就是它所/0在的connected to redis://127.0.0.1:6379/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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
976 次 |
| 最近记录: |