我已使用dogpile
[1]定义了此缓存文件。但我的问题是,当我在不同的类中调用密钥时,它无法找到该值。例如,如果我在cache.Cache.save("mykey", 123)
中运行main.py
,并且在执行期间我正在使用submodule.py
检索另一个模块cache.Cache.get("mykey")
中的值,我无法检索价值。我得到NoValue
。似乎我没有为我的所有程序创建一个独特的全局缓存。
缓存的所有set
和get
均由此模块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)
答案 0 :(得分:0)
好吧,我已经通过将缓存保存到文件中解决了这个问题。
region = make_region().configure('dogpile.cache.dbm',
expiration_time = 3600,
arguments = {
"filename":"./cache_execution.dbm"
})