flask使用pymysql无法实时查询到数据库中更新的内容

场景描述

最近在使用python flask写一个项目,后台数据库可被多个client进行增删改查等操作,在后期联合测试的时候发现如果别的客户端【可视化工具】对数据做更改后,当前节点服务端获取到的数据依旧是之前的,无法实时获取更新内容,只有重启flask service后才可以获取到最新的内容,这种问题看起来是其他客户端对数据做了更改,但当前server没识别到导致的

实例描述

  • 其他客户端修改数据库前获取信息

flask使用pymysql无法实时查询到数据库中更新的内容_第1张图片

  • pycharm直接可视化修改后再次请求,可以看到虽然数据库信息更新了,但是请求到的数据依然是之前的

flask使用pymysql无法实时查询到数据库中更新的内容_第2张图片

问题解决

通过pymysql连接数据库时添加参数autocommit=True

conn = pymysql.connect(host=self.host, port=self.port, user=self.user, passwd=self.passwd, database=self.database, charset=self.charset, autocommit=True)
  • 再次进行测试发现数据可以实时被获取到

flask使用pymysql无法实时查询到数据库中更新的内容_第3张图片 

 

flask使用pymysql无法实时查询到数据库中更新的内容_第4张图片

问题解决,也是一个小坑 !!!

你可能感兴趣的:(flask)