0

dogpile[1]でこのキャッシュ ファイルを定義しました。しかし、私の問題は、異なるクラスでキーを呼び出すと、値が見つからないことです。たとえば、 で実行cache.Cache.save("mykey", 123)していてmain.py、実行中に で別のモジュールの値を取得している場合submodule.pycache.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)
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 に答える