1

我正在使用redis-objects gem 来存储简单信息

class Purchase < ActiveRecord::Base
  include Redis::Objects
  hash_key :user_purchases, :marshal => true, :global => true  # "hash" is taken by Ruby

  def self.add_user_end(fb_id,item_id)
    if self.user_purchases[fb_id]
      a = Array.new
      a << candidate_id 
      self.user_purchases[fb_id] = a
    else
      new_a = self.user_purchases[fb_id]
      new_a << item_id
      self.user_purchases[fb_id] = new_a
    end
  end
end

我正在创建一种将 user_purchases 收集为 hasy_key 的方法,由用户 fb id 键入。我想在使用 Purchase.user_purchases["2"] => [1,23,563,2] 时看到一组 id

我遇到了 Redis::Object 的问题,我只能将其保存为字符串:为什么?

1.9.3-p125 :050 > Purchase.user_purchases["6"].class
 => String 
1.9.3-p125 :051 > Purchase.user_purchases["6"]
 => "\u0004\b[\u0006I\"\v543555\u0006:\u0006ET" 

回答:

我的初始化文件丢失需要'redis/list'

require 'redis'
require 'redis/objects'
require 'redis/hash_key'
require 'redis/list'

Redis.current = Redis.new(:host => '127.0.0.1', :port => 6379)
4

1 回答 1

1

我的初始化文件丢失需要'redis/list'

require 'redis'
require 'redis/objects'
require 'redis/hash_key'
require 'redis/list'

Redis.current = Redis.new(:host => '127.0.0.1', :port => 6379)
于 2013-03-01T01:34:44.857 回答