我正在学习 Redis。我可以使用 Ruby Client for Redis 设置和获取键值对。
我现在正在尝试从自定义路径存储和加载 dump.rdb。我执行了以下步骤:
- 我在我的 ruby 脚本中以编程方式设置了 dump.rdb 的目录。
- 然后我可以选择创建新数据或加载现有数据。
- 我在第一次执行我的 ruby 脚本时创建了新数据。
- 这次我再次运行了我的 ruby 脚本并加载了现有数据。输出符合预期。
但是,当我重新启动 redis 服务器并运行相同的 ruby 脚本(再次以编程方式设置 dump.rdb 的目录)并尝试加载数据时,它不会这样做。
在我在配置中设置'dir'参数后,有没有办法以编程方式让redis服务器加载dump.rdb ?
我查看了 redis.conf 中的 Redis Ignoring 目录并尝试在 google 上搜索此内容。始终可以选择在 redis.conf 中设置 dump.rdb 的路径,但我希望以编程方式进行。
我的 Ruby 代码如下:
require 'redis'
client = Redis.new
client.config('set', 'dir', '/tmp')
puts 'Enter load(to load existing data) or new(to create new data)'
print 'prompt>'
command = gets.chomp
if command == 'new'
client.flushdb
client.set('key1', 'value1')
client.set('key2', 'value2')
client.save
else
puts client.get('key1')
puts client.get('key2')
end
这是执行 ruby 脚本的输出:
laptop:~/ruby/workspace$ ruby test.rb
Enter load(to load existing data) or new(to create new data)
prompt>new
laptop:~/ruby/workspace$ ruby test.rb
Enter load(to load existing data) or new(to create new data)
prompt>load
value1
value2
# Now i restart redis-server
laptop:~/ruby/workspace$ ruby test.rb
Enter load(to load existing data) or new(to create new data)
prompt>load
# No output is printed
软件详情:
- 操作系统:Ubuntu Linux 12.04 64 位
- Redis 2.6.9 版在本地主机上以默认配置运行
- Ruby:版本 1.9.3p327(2012-11-10 修订版 37606)[x86_64-linux]
如果您需要我提供的任何其他信息,请告诉我。