Как установить и получить объект, хранящийся в Redis? - PullRequest
3 голосов
/ 14 августа 2011

Я пытаюсь сохранить объект в Redis, и когда я получаю объект, он, кажется, не работает.

Я пытался:

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

$redis.set('test', u)

x = $redis.get('test')

x.name  // error

Я думаю, этопроблема с сериализацией, нужно ли делать что-то особенное с моей моделью для сериализации?

Ответы [ 2 ]

6 голосов
/ 26 марта 2016

Я бы предложил использовать Marshal.dump и Marshal.load для сериализации и десериализации объектов соответственно.

$redis.set 'key', (Marshal.dump object) #serialize
object = Marshal.load($redis.get 'key') #deserialize
1 голос
/ 14 августа 2011

Насколько я знаю, redis сохранит строковое представление вашего объекта. Итак ...

x.class # String

Вы должны использовать что-то для сериализации / десериализации ваших объектов при использовании Redis. Взгляните на https://github.com/nateware/redis-objects

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...