0

我已经用dogpile[1] 定义了这个缓存文件。但我的问题是,当我在不同的类中调用键时,它找不到值。例如,如果我在 中运行cache.Cache.save("mykey", 123)main.py并且在执行期间我正在使用 检索另一个模块中的值submodule.pycache.Cache.get("mykey")我将无法检索该值。我明白了NoValue。似乎我没有为我的所有程序创建一个唯一的全局缓存。

所有的setget缓存都是由这个模块完成的mycache.py。为什么会这样?

[1] mycache.py

from dogpile.cache import make_region

region = make_region().configure('dogpile.cache.memory')
class Cache:

  @staticmethod
  def save(key, value):
    region.set(key, value)

  @staticmethod
  def get(key):
    return region.get(key)
4

1 回答 1

0

好吧,我通过将缓存保存到文件中解决了这个问题。

region = make_region().configure('dogpile.cache.dbm',
                             expiration_time = 3600,
                             arguments = {
                                 "filename":"./cache_execution.dbm"
                             })
于 2016-02-04T15:01:40.810 回答