3
这是处理Redis连接池与Sinatra Synchrony的正确方法吗?Sinatra与Redis连接池同步
我的Gemfile看起来是这样的:
gem 'sinatra-synchrony'
gem 'hiredis'
gem 'redis'
的西纳特拉服务器文件使用了经典风格的方法,一般像这样:
require 'sinatra'
require 'sinatra/synchrony'
require 'redis/connection/hiredis'
require 'redis/connection/synchrony'
require 'redis'
redis = EventMachine::Synchrony::ConnectionPool.new(size: 5) do
Redis.new(path: '/tmp/redis.sock')
end
get/do
# lots of redis reads and writes
end
我再推出同样的服务器应用程序的多个实例,每个都在不同的端口下,并使用nginx在它们之间进行负载平衡。
这是将Redis和Sinatra服务器连接在一起的合适解决方案吗?
感谢这一段代码,但是它有很大的缺点 - 我不能理解@ redis.multi {...},它只是挂起。我认为这是由于使用不同的连接来启动端执行命令... – 2012-03-10 11:25:37
我刚刚更新了示例以添加多个呼叫,它对我来说非常适合。你可能做错了,你需要使用连接作为参数传递给块。 – Schmurfy 2012-03-12 15:14:08