Ada*_*tan 3 python caching list data-structures
我有一个模块,支持使用公司标准接口创建地理对象。创建这些对象后,update_db()调用该方法,并将所有对象更新到数据库中。
将所有对象插入一个会话中非常重要,以便在更新生产数据库之前保留计数器和统计信息。
问题是有时对象太多,内存就会满。
有没有办法在 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)
Run Code Online (Sandbox Code Playgroud)
初始化时将创建一个普通列表。当列表的大小超过 时max_memory_size,列表元素将被腌制并存储在 中的文件中directory。get_item(),set_item()并将del_item() 处理存储在内存中的数据,或从磁盘“交换”数据以访问它。
pickle列表的一部分之后强制进行垃圾回收?谢谢,
亚当