Python でのメモリ キャッシングの使用
Python アプリケーションを作成する場合、キャッシングは重要です。 キャッシュを使用してデータの再構成を回避したり、低速のデータベースにアクセスしたりすることで、パフォーマンスを向上させることができます。
Python では、memcached
モジュールを使用して、スクリプトにメモリ キャッシュを含めることができます。 この記事では、メモリ キャッシュ操作の準備と、主要な memcached
の使用について説明します。
また、Python の cache
と set
を使用した高度なパターンについても学習します。
Memcached
モジュールをインストールする
Memcached
パッケージは多くのプラットフォームで利用できます:
- Linux の場合、
yum install memcached
またはapt-get install memcached
を使用してインストールできます。 このスクリプトは、ビルド済みパッケージからmemcached
パッケージをインストールします。 - macOS の場合、最も簡単な選択は Homebrew を利用することです。 Homebrew パッケージ マネージャーをインストールしたら、
brew install memcached
と入力します。 - Windows の場合、公式の
memcached
Web サイト にアクセスして、memcached
を自分でコンパイルする必要があります。
インストールが完了したら、memcached
コマンドを呼び出して memcached
を起動できます。
memcached
Python を使用してキャッシュされた値を設定および取得する
memcached
パッケージは、使用したことがない場合でも簡単に理解できます。 さらに、ネットワークを介してかなりの語彙にアクセスできます。
このディクショナリは、主に次の点で従来の Python ディクショナリとは異なります。
- 値とキーはバイト データ型である必要があります
- 値とキーは、指定された有効期限後に自動的に削除されます
したがって、set
と get
は、memcached
を扱うための 2つの基本的な手順です。 私たちが想像したように、キーに値を与えたり、キーから値を取得したりするために使用されます。
以下のコードは、Python アプリケーションでネットワーク分散キャッシュとして memcached
を利用する方法を示しています。
import memcache
mcobject = memcache.Client(["127.0.0.1:11212"], debug=0)
mcobject.set("some_key", "Some value")
value = mc.get("some_key")
mcobject.set("another_key", 3)
mcobject.delete("another_key")
mcobject.set("key", "1")
mcobject.incr("key")
mcobject.decr("key")
memcached
ネットワーク プロトコルは単純です。 超高速の実装により、データの正規ソースから計算または取得するのに時間がかかるデータを格納することには利点があります。
簡単ではありますが、この例では、ネットワークを介して key-value
タプルを保存し、アプリケーションの複数の分散された実行中のコピーを介してそれらにアクセスできます。
このプロセスは単純ですが強力です。 これは、アプリケーションを最適化するための重要な第一歩です。
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn