我正在尝试使用redis-objects Ruby gem 将一些 Redis 数据存储在列表中。
我可以按照文档中的示例创建一个列表。
我可以使用 lrange 从 Redis 中找到列表。不确定这是否是最好的方法,我找不到 redis-objects 提供的方法。
最初,当我迭代列表中的元素时,我以哈希的形式获得元素。
但是,在我使用 lrange 获得列表后,这些不是哈希值,我无法访问数据。
找到列表并以哈希形式获取项目的适当方法是什么?
您可以看到下面的代码和控制台的输出。
@list = Redis::List.new('list_name', :marshal => true)
@list << {:name => "Nate", :city => "San Diego"}
@list.each do |el|
puts el
puts el.class
puts "#{el[:name]} lives in #{el[:city]}"
end
redis = Redis.current
@list = redis.lrange("list_name", 0, -1)
@list.each do |el|
puts el
puts el.class
puts "#{el[:name]} lives in #{el[:city]}"
end
每个看跌期权:
{:name=>"Nate", :city=>"San Diego"}
Hash
Nate lives in San Diego
{: nameI" Nate:ET: cityI"San Diego;T
String
Completed 500 Internal Server Error in 349ms
TypeError - no implicit conversion of Symbol into Integer: