已经很长时间没用过torndb了。因为前两天写一个微信相关的h5小游戏,涉及到mysql存储用户的数据,也不是很复杂,所以用torndb。简单总结几个需要注意的点。
1、max_idle_time
默认max_idle_time是7*3600,因为mysql服务器的默认wait_time=28800。这个请一定根据自己的mysql服务器的配置修改。否则经常出现”MySQL server has gone aways”错误也是很糟心的。
2. charset
默认是utf8,但是现在emoji流行所以一般都修改为 utf8mb4了。当然了,请检查你的数据库支持情况。
3. autocommit
默认设置了 autocommit=1,所以如果想要使用 SELECT … FOR UPDATE 或者 SELECT … LOCK IN SHARE MODE 之类锁的话。请务必要先关闭autocommit。
try:
conn.execute("set autocommit=0")
# do anything you want
finally:
# 务必在finally中把autocommit设回来。
comm.execute("set autocommit=1")