python - 在 Peewee 中禁用缓存
问题描述
文档说 peewee 在选择操作时缓存数据。执行选择查询时有什么方法可以禁用缓存吗?
解决方案
您可以在迭代大量行时使用调用返回iterator()
的对象的方法,以避免结果被缓存在内存中。QueryResultWrapper
.select()
要在遍历查询时减少 peewee 使用的内存量,请使用 iterator() 方法。此方法允许您在不缓存返回的每个模型的情况下进行迭代,在迭代大型结果集时使用更少的内存。
# Let's assume we've got 10 million stat objects to dump to a csv file. stats = Stat.select() # Our imaginary serializer class serializer = CSVSerializer() # Loop over all the stats and serialize. for stat in stats.iterator(): serializer.serialize_object(stat)
推荐阅读
- docker - ubuntu docker 容器中的无头铬
- python - 列表更新时发出信号
- vb.net - 了解数据验证
- python - 如果满足要求,如何遍历excel中的每一行并将整行存储为DataFrame?
- typescript - 删除 firebase 存储上的文件时获取“delete(...).then(...).error 不是函数”。AngularFire/TypeScript
- postgresql - 预测试 SBT 任务:无法实例化 JDBC 驱动程序
- swift - Swift 5 从本地缓存播放视频
- vue.js - 刷新页面后vue页面打不开
- c++ - 旋转字节 N 位
- c# - 使用两台机器时 gRPC 失败 - 简单的 c#.Net 服务器和客户端