2011-08-13 10 views
1

私はレディスでオブジェクトを保存しようとしています。オブジェクトを取得すると、動作しないようです。Redisに格納されたオブジェクトを設定して取得する方法は?

私が試した:

u = User.new 
u.name = 'blankman' 

$redis.set('test', u) 

x = $redis.get('test') 

x.name // error 

を、私はそれがシリアル化の問題だと思い、私はそれをシリアライズするための私のモデルに特別な何かをしなければならないのですか?

答えて

1

私が知る限り、redisはオブジェクトの文字列表現を保存します。だから...

x.class # String 

Redisを使用するときは、オブジェクトをシリアル化/逆シリアル化するために何かを使用する必要があります。私は、それぞれのオブジェクトをシリアライズとデシリアライズするMarshal.dumpMarshal.loadを使用することをお勧めしhttps://github.com/nateware/redis-objects

種類よろしく

0

を見てみましょう。

$redis.set 'key', (Marshal.dump object) #serialize 
object = Marshal.load($redis.get 'key') #deserialize 
関連する問題