npm install mysql@2.0.0-alpha6
示例
var mysql = require('mysql')
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
})
connection.connect()
connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
if (err) throw err
console.log('The solution is: ', rows[0].solution)
})
connection.end()
使用单例,用的时候创建连接即可。不用在onStart时创建。
在workerman中使用单例模式(在类静态成员中保存对象/数据),在当前进程生命周期内所有请求中都是共享可用的。比如数据库单例,当使用数据库时发现数据库对象还没创建,就立即创建一个,然后保存在数据库类的静态成员中,下次再次使用数据库对象时,直接使用数据库静态成员那个数据库对象即可,这样当前进程内的所有请求就都可以复用这个数据库对象,也就是真正意义上的长连接,没有频繁的数据库连接、权限验证、断开连接等开销,非常高效。
workerman中自带mysql类,也是使用的单例模式,只有在第一次 调用Db::instance(‘db_name’)->query(sql)时才创建一个数据库连接对象,才会去连接数据库。后面再调用Db::instance(‘db_name’)就直接复用了第一次创建的数据库对象,不会在创建。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)