Redis stocke des chaînes (et quelques autres structures de données de chaînes); Vous pouvez donc sérialiser en valeurs Redis comme vous le souhaitez tant que vous vous retrouvez avec une chaîne. JSON est probablement le meilleur endroit pour commencer car il est maigre, pas trop fragile, fonctionne bien avec les modèles de mise à niveau en direct, et est lisible in situ. Plus tard, vous pouvez ajouter plus de complexité pour atteindre vos objectifs si nécessaire, par exemple, la compression. #to_json et #from_json sont déjà sur ActiveRecord si vous voulez utiliser JSON (avec YAJL ou son semblable qui ne devrait pas être excessivement lent, relativement parlant.) #to_xml est aussi là, si vous êtes dans S & M.
marshaling Raw peut aussi fonctionner, mais de temps en temps va mal épouvantablement (j'ai eu marshalés objets dépassent 2MB après LZO compression qui étaient seulement quelques K JSON.)
Si c'est vraiment un goulot d'étranglement pour vous, vous aurez Vous voulez exécuter vos propres tests d'efficacité pour vos objectifs, par exemple, vitesse d'écriture, vitesse de lecture ou taille de stockage, avec vos propres objets et modèles de données.
merci Yuri, vous m'avez vraiment dit ce que je veux savoir. Il semble que json est ma meilleure option ici ... Merci encore! –
Juste essayant ceci maintenant, semble marshal est le bon choix si vous incluez des associations. Il va restaurer les choses dans le bon type. Avec JSON, les associations sont simplement stockées sous forme de hash, vous obtenez donc une erreur en essayant de restaurer avec from_json. – mahemoff
http://msgpack.org/ est un excellent choix aussi. Plus petit et plus efficace que JSON. –