背景
最近有两处用到,一个是做简易的消息推送,Flask + Websocket,需要开着长连接,同时去数据库获取最新数据,结果发现一旦连接上后,即使修改了数据库的数据,返回的数据始终不变;
另一个则是做抓取数据并异步处理,这个用的MySQLdb写的,抓取数据后会将将数据插入数据库,并留个id在redis,供异步处理程序去异步获取并处理,结果发现通过id并取不到最新数据
解决方案
从CSDN论坛中找到的一种方式
1 | mysql> show variables like '%iso%'; |
如果是以上情况,则可以执行语句
1 | mysql> set global TRANSACTION ISOLATION LEVEL READ COMMITTED ; |
此时再去查找
1 | mysql> show variables like '%iso%'; |
这时就可以取到最新数据了