如何强制Django忽略所有缓存并重新加载数据?

如何强制Django忽略所有缓存并重新加载数据?,第1张

如何强制Django忽略所有缓存并重新加载数据?

现在,Django 1.6已在MySQL中启用自动提交,这不再是问题。

flush_transaction()
无论你的MySQL是处于
REPEATABLE-READ
(默认)
READ-COMMITTED
模式还是事务隔离模式,上面的示例现在都可以正常运行而无需编写代码。

在非自动提交模式下运行的早期

Django
版本中发生的事情是,第一条
select
语句打开了一个事务。由于MySQL的默认模式是
REPEATABLE-READ
这意味着后续
select
语句不会读取对数据库的任何更新-因此需要
flush_transaction()
上面的代码来停止事务并开始新的事务。

仍然有你为什么要使用

READ-COMMITTED
事务隔离的原因。如果要在终端1中进行事务处理,并且想要查看来自终端2的写入,则需要使用
READ-COMMITTED

flush_transaction()
代码现在在Django 1.6中会产生弃用警告,因此建议你将其删除。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5004231.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存