Mojolicious数据库操作(八)
一、关闭空闲连接——close_idle_connections
关闭所有当前未使用的连接,或者通过$keep变量限制空闲连接的数量。
$mysql = $mysql->close_idle_connections($keep);
二、数据库连接对象——db
通过 Mojo::mysql::Database 模块的对象,获得一个缓存的连接句柄,或者一个新创建的连接句柄。
这个db对象本身可以自动缓存的,意思就是说当我们关闭db对象后,Mojo会为我们保存一段时间的句柄,如果此时间里有新的db对象建立会自动的、继续使用该句柄。
my $db = $mysql->db;
三、from_string
该方法是可以从一个字符串里面解析数据库连接配置:
$mysql = $mysql->from_string('mysql://user@/test'); # 仅仅连接数据库 $mysql->from_string('mysql:///db1'); # 设置账户名和数据库 $mysql->from_string('mysql://batman@/db2'); # 设置用户名、密码、主机和数据库 $mysql->from_string('mysql://batman:s3cret@localhost/db3'); # 用户名、域、socket端口和数据库 $mysql->from_string('mysql://batman@%2ftmp%2fmysql.sock/db4'); # 用户名、数据库和其他选型 $mysql->from_string('mysql://batman@/db5?PrintError=1&RaiseError=0');
四、new
创建一个新的mojo::mysql对象,他可以在后台自动调用from_string方法:
my $mysql = Mojo::mysql->new; my $mysql = Mojo::mysql->new(%attrs); my $mysql = Mojo::mysql->new(\%attrs); my $mysql = Mojo::mysql->new('mysql://user@/test'); my $mysql = Mojo::mysql->new('mariadb://user@/test');
五、strict_mode
strict_mode方法,是一个构造函数。
my $mysql = Mojo::mysql->strict_mode('mysql://user@/test'); my $mysql = $mysql->strict_mode($boolean); my $mysql = Mojo::mysql->new('mysql://user@/test')->strict_mode(1);
启用strict_mode后,在创建新连接时会在后台执行如下操作:
SET SQL_MODE = CONCAT('ANSI,TRADITIONAL,ONLY_FULL_GROUP_BY,', @@sql_mode) SET SQL_AUTO_IS_NULL = 0
六、DEBUGGING
通过设置DBI_TRACE环境变量,可以使DEBUG开发信息显示到stderr中:
DBI_TRACE=1 DBI_TRACE=15 DBI_TRACE=15=dbitrace.log DBI_TRACE=SQL DBI_PROFILE=2