2016-02-04 142 views
0

我已經用dogpile [1]定義了這個緩存文件。但我的問題是,當我在不同的類中調用密鑰時,它找不到該值。例如,如果我在main.py中運行cache.Cache.save("mykey", 123),並且在執行期間我正在檢索另一個模塊submodule.py中的值cache.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) 

回答

0

好了,我已經保存緩存到文件解決了這個問題。

region = make_region().configure('dogpile.cache.dbm', 
          expiration_time = 3600, 
          arguments = { 
           "filename":"./cache_execution.dbm" 
          })