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 の場合、公式の
memcachedWeb サイト にアクセスして、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