我已經使用了ASP.NET,現在我正在開發Sinatra/MongoDB應用程序。在ASP.NET架構中,給定請求的數據庫連接來自ADO.NET管理的連接池。連接在請求之間的池中保持活動狀態,以便每個http請求都不支付建立和拆除連接的成本。使用Sinatra和MongoDB - 「保持活躍」http請求之間的mongodb連接的建議方法是什麼?
在Sinatra MongoDB應用程序中是否存在類似的機制,還是需要連接/斷開每個請求?如果有機制,代碼是什麼樣的?
編輯1:以下不起作用。瀏覽器發送的每個HTTP請求都會觸發new.db行,包括對css,js,jpeg文件的請求。
require 'mongo'
include Mongo
db = Mongo::Connection.new.db("MyDb")
class MyApp < Sinatra::Base
get '/' do
etc
這是一個使用Sinatra和MongoDB的相當不錯的[示例應用](http://github.com/dancroak/shorty) - 可能會從查看代碼中獲得良好的開端。 – mdirolf
當我做你所做的事情並查看mongod的輸出時,我看到每個HTTP請求都有連接,包括對css,js文件的請求。 –