/ / ¿Cómo configurar y obtener un objeto almacenado en Redis? - Rubí sobre rieles, rubí, redis.

¿Cómo configurar y obtener un objeto almacenado en redis? - Rubí sobre rieles, rubí, redis.

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 № 1

Sugerirí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