gpt4 book ai didi

python - App Engine 中实体的最佳大小是多少

转载 作者:行者123 更新时间:2023-11-28 19:26:03 26 4
gpt4 key购买 nike

<分区>

在这里寻找内部信息。

我有一大堆 MD5 哈希值要存储在数据存储区中。该列表足够大,我必须使用多个实体来存储它。这意味着我必须将我的列表分解成更小的列表并单独存储它们。

为此,我有一个简单的模型,它可以存储和检索任意长的哈希列表:

class HashList(nbd.Model):
MAX_LENGTH = 100

zlist = ndb.BlobProperty()
keyword = ndb.StringProperty()
index = ndb.IntegerProperty()

@classproperty
def StoreList(cls, keyword, long_list):
entities = []
index = 0
for i in range(0, len(long_list), cls.MAX_LENGTH):
zlist = zlib.compress('\n'.join(long_list[i:i+cls.MAX_LENGTH]))
entities.append(cls(keyword=keyword, index=index, zlist=zlist))
index += 1
ndb.put_multi(entities)

@classproperty
def GetList(cls, keyword):
unpack = lambda e: zlib.decompress(e.zlist).split()
q = cls.query(cls.keyword == keyword).order(cls.index)
return list(itertools.chain(*q.map(unpack)))

假设我知道该列表有 1,000,000 个 MD5 哈希值。上面的代码将生成 10,000 个实体,每个实体的 zlist 属性大小略小于 2k(基于我自己的简单测试)。

基本上,我想知道 MAX_LENGTH 的最优值是多少。如果 MAX_LENGTH 变大,则实体大小变大。我应该向每个实体推进 1MB(约 40,000 个 MD5 哈希值)吗? 100是不是太小了? 1000 更好吗?

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