场景描述
最近在使用python flask写一个项目,后台数据库可被多个client进行增删改查等操作,在后期联合测试的时候发现如果别的客户端【可视化工具】对数据做更改后,当前节点服务端获取到的数据依旧是之前的,无法实时获取更新内容,只有重启flask service后才可以获取到最新的内容,这种问题看起来是其他客户端对数据做了更改,但当前server没识别到导致的
实例描述
- 其他客户端修改数据库前获取信息
- pycharm直接可视化修改后再次请求,可以看到虽然数据库信息更新了,但是请求到的数据依然是之前的
问题解决
通过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)
- 再次进行测试发现数据可以实时被获取到