javascript - 更好地从 Node 或每个请求的连接到 memcached/mongo 的单一全局连接?

标签 javascript node.js mongodb memcached database

我正在(重新)编写一个从 php 到 Node 的 api,它的使用率非常高;它使用 memcached 并且当前连接到 memcached,执行它的业务并在每次运行 php 文件时关闭,即每次访问 api 页面时。

现在有了 Node ,我们正在构建 http 服务器本身;我可以定义一个全局 memcached 连接并使用它:

var mclient = new memcache.Client(server, port);

// This would only run after mclient has connected 
http.createServer(function (req,res){
    // stuff involving mclient
}).listen(8888);

或者我可以将它放在 createServer 回调中。同样的问题也适用于 mongodb 连接。我应该怎么做?

最佳答案

我建议使用一个包含多个连接的池。这将允许一次进行多个正在进行的操作,同时节省您创建新连接时出现的 TCP 握手/速率限制和应用程序级握手(例如登录)的开销。

我不知道 memcached,但我认为 MongoDB 的 node-native-driver (https://github.com/christkv/node-mongodb-native) 正在使用内置连接池,所以你不需要必须自己实现。文档中有一条注释说它即将推出,但看起来代码已经存在,所以应该很快。

更新:我刚刚与驱动程序的作者核实过,连接池已完全实现,他只是忘记从文档中删除该行。

关于javascript - 更好地从 Node 或每个请求的连接到 memcached/mongo 的单一全局连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7203723/

相关文章:

javascript - 如何确定 JSON 中字段的数据类型

javascript - Jquery 追加 img 和 a

javascript - 分配后更改输入值

javascript - 将 utc 时间戳设为本地 24 小时制,然后转换回 utc

json - 使用 mongoimport 从 Windows 文件夹批量导入 MongoDB

ruby connect.rb 连接到 Mongo 但 irb -r connect.rb 失败

c# - 从 MVC 中的模型数据中选定的下拉列表项动态更改 View

linux - 无法从外部访问 node.js

node.js - cloudfoundry : how to use filesystem

javascript - AWS Node.js JSON 输入错误