sql >> Databáze >  >> NoSQL >> Redis

Jednoduché použití EM::Synchrony#sync způsobuje 'kořenové vlákno' FiberError -- moje chyba?

Myslím, že váš kód může fungovat, pokud najdete správnou verzi em-hiredis, kterou se snaží opičit, to je jeden problém s volnými závislostmi.

Zde je plně funkční kód, ale založený na hlavní větvi em-synchrony:

Gemfile:

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

a poté jej spusťte pomocí:

$ bundle
$ ruby test.rb

Opičí záplatování je ze své podstaty chybný způsob záplatování drahokamů, pokud nezajistíte použití přesné verze drahokamu, který jste opravili, což je něco, co by em-synchrony měla vynutit nebo alespoň detekovat.




  1. 3 způsoby, jak převést řetězec na datum v MongoDB

  2. Oblast oznámení a zpráv pomocí Redis

  3. Úvod do Apache HBase Snapshots

  4. Jak zjistím datum vytvoření kolekce MongoDB pomocí ovladače MongoDB C#?