Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

EM::Synchrony#sync का सरल उपयोग 'रूट फाइबर' का कारण बनता है FiberError - मेरी गलती?

मुझे लगता है कि आपका कोड काम कर सकता है यदि आपको एम-हिरेडिस का सही संस्करण मिल जाए तो वह बंदर पैच करने की कोशिश कर रहा है, यह ढीली निर्भरता के साथ एक समस्या है।

यहाँ एक पूरी तरह से काम करने वाला कोड है लेकिन एम-सिंक्रोनाइज़ की मास्टर शाखा पर आधारित है:

जेमफाइल:

source :rubygems

gem 'em-synchrony', :git => "git://github.com/igrigorik/em-synchrony.git"
gem 'em-hiredis', '~> 0.1.0'

test.rb:

require 'rubygems'
require 'bundler/setup'

require 'em-synchrony'
require 'em-synchrony/em-hiredis'

EventMachine.synchrony do
  redis = EM::Hiredis.connect

  redis.set('foo', 'bar')
  puts redis.get('foo')

  EM.stop
end

और फिर इसे इसके साथ चलाएं:

$ bundle
$ ruby test.rb

मंकी पैचिंग रत्नों को पैच करने का एक स्वाभाविक रूप से त्रुटिपूर्ण तरीका है जब तक कि आप सुनिश्चित नहीं करते कि आपके द्वारा पैच किए गए रत्न का सटीक संस्करण उपयोग किया जाता है, जो कि कुछ ऐसा है जिसे एम-सिंक्रोनी को लागू करना चाहिए या कम से कम पता लगाना चाहिए।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. DigitalOcean पॉड में अनबाउंड तत्काल PersistentVolumeClaims

  2. एक्सएमएल में रेडिस के साथ काम करने के लिए स्प्रिंग सत्र को कैसे कॉन्फ़िगर करें?

  3. StackExchange.Redis - LockTake / LockRelease उपयोग

  4. जाँच कर रहा है कि सूची में कोई मान पहले से मौजूद है या नहीं Redis

  5. Redis कुंजियाँ क्यों समाप्त नहीं हो रही हैं?