問題タブ [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.

0 投票する
2 に答える
1393 参照

python - dogpile.cache のテスト用にキャッシュ デコレータを無効にする

最近、beaker から dogpile.cache に切り替えました。ライブ コードでは非常にうまく機能しますが、テストで問題が発生しています。テストのためにキャッシュを無効にするにはどうすればよいですか?

私は現在使用しています

キャッシングを交換したり、単体テスト用に無効にしたりするにはどうすればよいですか?

0 投票する
1 に答える
3507 参照

python - dogpile を使用した SqlAlchemy キャッシュ

継承と関係を持つ 3 つのモデルがあり、このモデルにクエリをキャッシュしたいと考えています。

パーソナルから受け継いだモデルは他にもたくさんあります。たとえば、構成関係を介してMan属性にアクセスする必要があります。通常、私は次のようにします:

このようなクエリをdogpileでキャッシュするにはどうすればよいですか? クエリをConfigにキャッシュすることはできますが、クエリをManの属性にキャッシュすることはできず、毎回 SQL を発行します。with_polymorphic を使用しようとしましたが、joinedload なしでしか機能しません。(理由はわかりません)

しかし、タイプをフィルタリングするにはjoinedloadが必要です。

0 投票する
1 に答える
203 参照

python - dogpile を使用して変更時間に基づいてダウンロードしたファイルをキャッシュする

大きなファイル (〜 150MB) をダウンロードし、データをより便利なテキスト形式のファイルに解析するプログラムを作成しています。ダウンロードのプロセス、特に解析が遅い (合計で ~ 20 分) ため、結果をキャッシュしたいと考えています。

ダウンロードの結果は一連のファイルであり、解析の結果は単一のファイルであるため、これらのファイルが存在するかどうかを手動で確認し、存在する場合はそれらの変更時刻を確認できます。ただし、コード内の他の場所で Web サービス呼び出しに redis バックエンドを備えた dogpile を既に使用しているため、dogpile をこれに使用できるかどうか疑問に思っていました。

だから私の質問は: 変更された時間に基づいてファイルをキャッシュするために dogpile を使用できますか?

0 投票する
1 に答える
105 参照

python - グローバルキャッシュを持つことはできません

dogpile[1]でこのキャッシュ ファイルを定義しました。しかし、私の問題は、異なるクラスでキーを呼び出すと、値が見つからないことです。たとえば、 で実行cache.Cache.save("mykey", 123)していてmain.py、実行中に で別のモジュールの値を取得している場合submodule.pycache.Cache.get("mykey")値を取得できません。私は得るNoValue。すべてのプログラムに対して一意でグローバルなキャッシュを作成していないようです。

setおよびgetキャッシュへのすべては、このモジュールによって作成されますmycache.py。なぜこれが起こっているのですか?

[1] mycache.py

0 投票する
1 に答える
322 参照

python - 変数が NO_VALUE に設定されているかどうかを確認します

私のpythonプログラムにキャッシュを入れるためにdogpileを使用しています。プログラムの初期化中に、キャッシュを消去しますSimpleCache.set_fault_injector(NO_VALUE)

次に、次の方法でオブジェクトを取得します。

ここで私のテストでは、injector変数が に設定されているかどうかを確認していますNO_VALUEが、比較は返されFalseています (それは である必要がありますTRUE)。injectorが に設定されているかどうかを確認するにはどうすればよいNO_VALUEですか? キャッシュをクリアする方法は正しいですか?

0 投票する
0 に答える
935 参照

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()

トレースバックはこちら

0 投票する
1 に答える
112 参照

python - Web サーバーから独立した dogpile メモリ バックエンド

開発中 (ピラミッド フレームワーク) でサーバーがリロードされるたびに、キャッシュのデータを再クエリして再処理する必要がないようにしています。

dogpile のメモリ バックエンドを簡単にセットアップしdogpile.cache.memoryて、その永続性を Web サーバーから独立させる方法はありますか?それとも、redis や memcached などのバックエンドが必要ですか?