gpt4 book ai didi

Python缓存列表

转载 作者:太空宇宙 更新时间:2023-11-03 13:53:02 26 4
gpt4 key购买 nike

我有一个模块支持使用公司标准界面创建地理对象。创建这些对象后,调用 update_db() 方法,将所有对象更新到数据库中。

在一个 session 中插入所有对象非常重要,以便在更新生产数据库之前保留计数器和统计信息。

问题是有时对象太多,内存满了。

有没有办法在 Python 中创建缓存列表,以处理不适合内存的列表?

我的一般想法是:

class CachedList(object):
def __init__(self, max_memory_size, directory)
def get_item(index)
def set_item(index)
def del_item(index)
def append(item)

一个普通的列表会在初始化时创建。当列表的大小超过 max_memory_size 时,列表元素将被 pickle 并存储在 directory 中的文件中。 get_item()set_item()del_item() 将处理存储在内存中的数据,或从磁盘“交换”数据以访问它.

  1. 这是一个好的设计吗?有没有标准的替代品?
  2. 如何在 pickle 列表的某些部分后强制进行垃圾回收?

谢谢,

亚当

最佳答案

使用搁置。您的 key 是列表的索引。

关于Python缓存列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3301789/

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