Не может иметь глобальный кеш
Я определил этот файл кеша с 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)
1 ответ
Ну, я решил эту проблему, сохранив кеш в файл.
region = make_region().configure('dogpile.cache.dbm',
expiration_time = 3600,
arguments = {
"filename":"./cache_execution.dbm"
})