私は、ネットワーク化されたデータベースからデータをロードする必要があるクライアントクラスで作業しています。クライアントに標準のキャッシングサービスを追加すると、パフォーマンスが向上する可能性があることが示唆されています。標準のサードパーティのPythonキャッシングクラスはありますか?
私は自分自身のキャッシングクラスを構築する必要がないのが大好きです。これらは共通の障害点を提供することはよく知られています。自社製のキャッシュシステムをデバッグするのに多大な時間を費やすよりも、他の誰かが開発したクラスを使用するほうがはるかに良いでしょう。これは、ストレージのすべての種類をサポートできる汎用高性能キャッシングクラスです http://ehcache.sourceforge.net/
:
Java開発者はこれを持っています。それは時間ベースの有効期限とガベージコレクションのための他の方法のオプションを持っています。それは本当によく見えます。残念ながら、私はPythonのためにこれが良いものは見つけられません。
誰かが、私が使用する準備ができているキャッシュクラスを提案することができます。私の希望リストは:
- キャッシュ内のオブジェクトの数を制限する機能です。
- キャッシュ内のオブジェクトの最大経過時間を制限する機能。
- LRUよくデバッグストレージの複数のフォームを選択するオブジェクトexpirey
- 能力(例えば、メモリ、ディスク)
- は、ウェルの少なくとも1つの周知のアプリケーションによって使用され、維持されます。
- 良好なパフォーマンス。
だから、どのような提案ですか?
更新:私はオブジェクトのローカルキャッシングを探しています。私が接続しているサーバーはすでに大量にキャッシュされています。 Windowsクライアントとサーバーの間に追加のネットワークトラフィックが必要なため、Memcachedは適切ではありません。
この場合は適切ではありません...私はローカルキャッシュを追加してネットワークアプリケーションを高速化しようとしています。ネットワークキャッシュは、世界中のどこにいても、エンドユーザーにとっては遅くなるでしょう。 –
悲しいことに、この段階でJythonを使用するのは複雑です。 –