pymemcacheを使ってPythonからMemcachedにアクセス

pymemcacheを使ってPythonからMemcachedにアクセス プログラミング

PythonからMemcachedを操作する方法を解説しています。
その際に利用するのが、pymemcacheとなります。

<p class="cl_point"><i class="fa fa-check" aria-hidden="true"></i>本記事の内容</p>
  • pymemcacheとは?
  • pymemcacheのシステム要件
  • pymemcacheのインストール
  • pymemcacheの動作確認

それでは、上記に沿って解説していきます。

pymemcacheとは?

pymemcacheとは、高速な処理を行うMemcachedクライアントのことを言います。

100%Pythonでコーディングされたpure-Pythonとなります。
pure-Pythonであることから、要件さえ満たせば容易に導入できそうです。

また、Memcachedクライアントとしては、最も活発なPythonライブラリとなります。
やはり、更新頻度の高いライブラリには安心感があります。

以上、pymemcacheに関しての説明でした。
次は、pymemcacheのシステム要件を確認します。

pymemcacheのシステム要件

現時点(2021年6月)でのpymemcacheの最新バージョンは、3.4.4となります。
この最新バージョンは、2021年6月3日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応と思われます。

  • Windows
  • macOS
  • Linux

pure-Pythonであるならば、基本的にはOSに関係なく動きます。
そして、サポート対象となるPythonのバージョンは以下。

  • Python 2.7
  • Python 3.6
  • Python 3.7
  • Python 3.8
  • Python 3.9

もうPython 2系は、さすがに切り捨てるべきでしょう。
互換性を保つために、無駄な分岐とかが記述されているはずです。

あと、Memcachedが動く環境を用意しておく必要はあります。
Ubuntuへのインストールなら、次の記事で解説しています。

以上、pymemcacheのシステム要件についての説明でした。
次は、pymemcacheをインストールしていきます。

pymemcacheのインストール

最初に、現状のインストール済みパッケージを確認しておきます。

>pip list
Package    Version
---------- -------
pip        21.1.2
setuptools 57.0.0

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、pymemcacheのインストールです。
pymemcacheのインストールは、以下のコマンドとなります。

pip install pymemcache

インストールは、すぐに終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。

>pip list
Package    Version
---------- -------
pip        21.1.2
pymemcache 3.4.4
setuptools 57.0.0
six        1.16.0

pymemcacheは、sixに依存してます。
sixは、Python 2と3の互換性を維持するために必要なライブラリとなります。
このようなところでも、古いPythonへのサポートが影響しています。

以上、pymemcacheのインストールの説明でした。
最後に、pymemcacheの動作確認を行います。

pymemcacheの動作確認

動作確認用のコードは、以下。

from pymemcache.client.base import Client

client = Client(('localhost', 11211))

# SET
client.set('some_key', 'some_value')

#GET
result = client.get('some_key')
print(result)

client.close()

SETとGETを同じプログラム内で処理しています。
上記コードを実行すると、以下の結果となります。

b'some_value'

byte型の戻り値になるようです。
なお、上記はPythonとMemcachedが同じマシン上で動いていることを想定しています。

以上、pymemcacheの動作確認を説明しました。

タイトルとURLをコピーしました