問題タブ [dogpile.cache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - dogpile.cache のテスト用にキャッシュ デコレータを無効にする
最近、beaker から dogpile.cache に切り替えました。ライブ コードでは非常にうまく機能しますが、テストで問題が発生しています。テストのためにキャッシュを無効にするにはどうすればよいですか?
私は現在使用しています
キャッシングを交換したり、単体テスト用に無効にしたりするにはどうすればよいですか?
python - dogpile を使用した SqlAlchemy キャッシュ
継承と関係を持つ 3 つのモデルがあり、このモデルにクエリをキャッシュしたいと考えています。
パーソナルから受け継いだモデルは他にもたくさんあります。たとえば、構成関係を介してMan属性にアクセスする必要があります。通常、私は次のようにします:
このようなクエリをdogpileでキャッシュするにはどうすればよいですか? クエリをConfigにキャッシュすることはできますが、クエリをManの属性にキャッシュすることはできず、毎回 SQL を発行します。with_polymorphic を使用しようとしましたが、joinedload なしでしか機能しません。(理由はわかりません)
しかし、タイプをフィルタリングするにはjoinedloadが必要です。
python - dogpile を使用して変更時間に基づいてダウンロードしたファイルをキャッシュする
大きなファイル (〜 150MB) をダウンロードし、データをより便利なテキスト形式のファイルに解析するプログラムを作成しています。ダウンロードのプロセス、特に解析が遅い (合計で ~ 20 分) ため、結果をキャッシュしたいと考えています。
ダウンロードの結果は一連のファイルであり、解析の結果は単一のファイルであるため、これらのファイルが存在するかどうかを手動で確認し、存在する場合はそれらの変更時刻を確認できます。ただし、コード内の他の場所で Web サービス呼び出しに redis バックエンドを備えた dogpile を既に使用しているため、dogpile をこれに使用できるかどうか疑問に思っていました。
だから私の質問は: 変更された時間に基づいてファイルをキャッシュするために dogpile を使用できますか?
python - グローバルキャッシュを持つことはできません
dogpile
[1]でこのキャッシュ ファイルを定義しました。しかし、私の問題は、異なるクラスでキーを呼び出すと、値が見つからないことです。たとえば、 で実行cache.Cache.save("mykey", 123)
していてmain.py
、実行中に で別のモジュールの値を取得している場合submodule.py
、cache.Cache.get("mykey")
値を取得できません。私は得るNoValue
。すべてのプログラムに対して一意でグローバルなキャッシュを作成していないようです。
set
およびget
キャッシュへのすべては、このモジュールによって作成されますmycache.py
。なぜこれが起こっているのですか?
[1] mycache.py
python - 変数が NO_VALUE に設定されているかどうかを確認します
私のpythonプログラムにキャッシュを入れるためにdogpileを使用しています。プログラムの初期化中に、キャッシュを消去しますSimpleCache.set_fault_injector(NO_VALUE)
次に、次の方法でオブジェクトを取得します。
ここで私のテストでは、injector
変数が に設定されているかどうかを確認していますNO_VALUE
が、比較は返されFalse
ています (それは である必要がありますTRUE
)。injector
が に設定されているかどうかを確認するにはどうすればよいNO_VALUE
ですか? キャッシュをクリアする方法は正しいですか?
python - dogpile.cache 'fcntl という名前のモジュールがありません' エラー
SQLAlchemy で Python 2.7 を使用しています。Dogpile.Cache を使用できるかどうかを確認しようとしています。を使用してdogpileキャッシュをインストールしました
しかし、SQLAlchemy ( helloworld.py ) で指定された例を実行しようとすると、取得し続けImportError: No module named fcntl
ます。最新の Dogpile.Cache が Windows の問題を解決したと思いました...
誰か助けてくれませんか?ありがとうございました。
アップデート
わかりました、例はデータベースとキャッシュを作成しています。しかし、それを使用してデータをロードしようとするとFromCache
、エラーが発生します。
people = Session.query(Person).options(FromCache("default")).all()
トレースバックはこちら
python - Web サーバーから独立した dogpile メモリ バックエンド
開発中 (ピラミッド フレームワーク) でサーバーがリロードされるたびに、キャッシュのデータを再クエリして再処理する必要がないようにしています。
dogpile のメモリ バックエンドを簡単にセットアップしdogpile.cache.memory
て、その永続性を Web サーバーから独立させる方法はありますか?それとも、redis や memcached などのバックエンドが必要ですか?