SQLAlchemy的“缓存”问题导致的BUG

问题描述:

  最近做项目,遇到一个问题,两个项目操作同一个数据库,其中A项目用的pyMysqL链接操作数据库,B项目用的sqlalchemy,当我请求B项目中的一个接口,会通知A项目操作数据库,然后返回结果后,B项目再进行下一个操作(这两步是在一个接口中),但是后来发现,A成功添加了数据后,在同一个请求中,B进行查询数据时,查询不到刚刚更新的数据,后来想了想可能是存在缓存问题,缓存问题可以参考下面这个文章

参考:https://www.jianshu.com/p/c0a8275cce99

解决问题:

在B进行查询数据前先db.session.commit()一下,这个操作会将当前session对象里面的缓存全部提交,清空缓存,下次查询时,就是从数据库查询最新数据,而不是先查询缓存

dio controls="controls" style="display: none;">

相关文章

优化MySQL数据库发布系统存储的方法有:1.mysql库主从读写分...
使用mysql的方法:在“我的电脑”→右键→“管理”→“服务”...
在mysql中查看root用户权限的方法:1.命令行启动mysql服务;...
MySQL主从复制是用来备份一个与主数据库一样环境的从数据库,...
运行mysql的方法1.启动mysql服务,在“我的电脑”→右键→“...
开启mysql的方法1.可以通过快捷键win+r,输入cmd,打开窗口,...