3

我试图flask-cache像这样缓存一个对象(大约 800MB):

@cache.memoize(50000)
def get_nmf_result():
    return NMF_Recommendation(basis_path = app.config['BASIS_PATH'],
                              coef_path = app.config['COEF_PATH'],
                              mask_path = app.config['MASK_PATH'])

但是我发现(1)缓存需要很长时间

(2) 即使我缓存了它,它仍然需要相当长的时间才能从缓存中读取。这是否意味着当我读取缓存时,实际上我得到的是 acopy而不是reference缓存?

有没有人有关于快速存储和读取缓存的想法?谢谢!

4

1 回答 1

4

Flask-Cache 使用 Werkzeug 缓存,它使用 pickling 库将任何缓存值序列化为二进制 blob,因此可以将值保存在任何后端。对一个 800MB 的对象进行酸洗和解酸可能需要相当长的时间,特别是如果它不仅仅是一个大字符串或类似的“简单”对象。

在这一点上,我认为最好编写自己的缓存,根据您使用的后端和您存储的数据类型进行定制。

于 2013-01-27T12:19:26.090 回答