Estoy tratando de almacenar un objeto en redis, y cuando consigo el objeto parece que no funciona.
Lo intenté:
u = User.new
u.name = "blankman"
$redis.set("test", u)
x = $redis.get("test")
x.name // error
Supongo que es un problema de serialización, ¿tengo que hacer algo especial para mi modelo para que se serialice?
Respuestas
2 para la respuesta № 1Sugeriría usar el Marshal.dump
y Marshal.load
para serializar y deserializar objetos respectivamente.
$redis.set "key", (Marshal.dump object) #serialize
object = Marshal.load($redis.get "key") #deserialize
1 para la respuesta № 2
Por lo que sé, redis guardará una representación de cadena de su objeto. Asi que...
x.class # String
Debe usar algo para serializar / deserializar sus objetos cuando use Redis. Echa un vistazo a https://github.com/nateware/redis-objects
Saludos cordiales