मैं रेडिस में किसी ऑब्जेक्ट को स्टोर करने की कोशिश कर रहा हूं, और जब मुझे ऑब्जेक्ट मिलता है तो यह काम नहीं करता है।
मैंने कोशिश की:
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
सधन्यवाद