gpt4 book ai didi

python - 将静态 Django 数据库加载到内存中

转载 作者:太空宇宙 更新时间:2023-11-04 03:54:46 24 4
gpt4 key购买 nike

我正在使用我的 Django 应用程序需要定期检索的数据集(约 30000 条记录)。这些数据实际上并不经常更改(可能每月一次左右),并且所做的更改是批量完成的,因此我试图获得的数据库解决方案几乎是只读的。

这个数据集的总大小大约是 20mb,我的第一个想法是我可以将它加载到内存中(可能作为对象上的单例)并以这种方式非常快速地访问它,尽管我想知道是否有通过避免磁盘 I/O 来减少获取时间的其他更有效的方法。 memcached 会是最好的解决方案吗?或者将它加载到内存中的 SQLite 数据库中会更好吗?或者在应用程序启动时将其作为内存变量加载?

最佳答案

我认为最简单的解决方案是将所有对象加载到内存中

cached_records = Record.objects.all()
list(cached_records) # by using list() we force Django load all data into memory

然后你就可以在你的应用中自由使用这个cached_records,你也可以使用像filter等QuerySet方法。但是filter在缓存记录上将触发数据库查询。

如果您要根据条件查询这些记录,使用缓存是个好主意。

关于python - 将静态 Django 数据库加载到内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19310083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com