में एक संदेश पैक किए गए हैश को संग्रहीत करना मुझे रेडिस में एक संदेश पैक किए गए हैश को संग्रहीत करने में समस्या आ रही है। मैंने नीचे एक टेस्ट केस चिपकाया है। रेडिस से पैक किए गए डेटा को खींचते समय और इसे अनपॅक करते समय, हैश थोड़ा दूषित हो जाता है। ऐसा तब होता है जब हैश मान एक निश्चित लंबाई से परे होते हैं, हालांकि मैं निश्चित रूप से यह नहीं कह सकता।रेडिस
मैं रेडिस 2.4.17 (डिफ़ॉल्ट कॉन्फ़िगरेशन), रूबी 1.9.3p194, संदेशपैक 0.4.7, और रेडिस मणि 3.0.2 का उपयोग कर रहा हूं। नोड का उपयोग करके एक ही समस्या होती है, इसलिए मुझे लगता है कि समस्या संदेशपैक या रेडिस के भीतर है। कोई विचार?
require 'redis'
require 'msgpack'
class Test
def self.run(url)
redis = Redis.new
data = {'number' => 13498935756, 'hash' => {'url' => url}}
redis.set('my_key', MessagePack.pack(data))
result = MessagePack.unpack(redis.get('my_key'))
puts result
puts result['hash']['url'] == data['hash']['url']
end
end
Test.run('http://fake.example.com') # works
=> {"number"=>13498935756, "hash"=>{"url"=>"http://fake.example.com"}}
=> true
Test.run('http://fakeurl.example.com') # does not work
=> {"number"=>13498935756, "hash"=>{"url"=>"ttp://fakeurl.example.com"}}
=> false