/ / रेडिस में संग्रहित वस्तु को कैसे सेट करें और प्राप्त करें? - रूबी-ऑन-रेल, रूबी, रेडिस

Redis में संग्रहीत ऑब्जेक्ट को कैसे सेट और प्राप्त करें? - रूबी-ऑन-रेल, रूबी, रेडिस

मैं रेडिस में किसी ऑब्जेक्ट को स्टोर करने की कोशिश कर रहा हूं, और जब मुझे ऑब्जेक्ट मिलता है तो यह काम नहीं करता है।

मैंने कोशिश की:

u = User.new
u.name = "blankman"

$redis.set("test", u)

x = $redis.get("test")

x.name  // error

मुझे लगता है कि यह एक क्रमांकन मुद्दा है, क्या मुझे इसे धारावाहिक बनाने के लिए अपने मॉडल के लिए कुछ विशेष करना है?

उत्तर:

जवाब के लिए 2 № 1

मैं इसका उपयोग करने का सुझाव दूंगा Marshal.dump तथा Marshal.load क्रमबद्ध और क्रमशः वस्तुओं को चित्रित करना।

$redis.set "key", (Marshal.dump object) #serialize
object = Marshal.load($redis.get "key") #deserialize

उत्तर № 2 के लिए 1

जहाँ तक मुझे पता है, रेडिस आपके ऑब्जेक्ट के स्ट्रिंग प्रतिनिधित्व को बचाएगा। इसलिए...

x.class # String

Redis का उपयोग करते समय आपको अपनी वस्तुओं को क्रमबद्ध / निष्क्रिय करने के लिए कुछ का उपयोग करना होगा। पर एक नज़र डालें https://github.com/nateware/redis-objects

सधन्यवाद