【キャッシュ利用】redis-pyを使ってPythonからRedisにアクセス

【キャッシュ利用】redis-pyを使ってPythonからRedisにアクセス プログラミング

キャッシュは、大規模サイトだけのモノだと思っていませんか?
はい、私にもそう思っていた時がありました。

でも、キャッシュは小規模サイトでも利用できます。
機会損失を逃さないためには、どんな規模のサイトでもキャッシュは利用すべきかもしれません。

今回は、Pythonでキャッシュを利用する方法を解説します。
利用するキャッシュは、Redisです。

そして、PythonからRedisにアクセスするためにredis-pyを使います。

本記事の内容

  • redis-pyとは?
  • redis-pyのシステム要件
  • redis-pyのインストール
  • redis-pyの動作確認

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

redis-pyとは?

redis-pyとは、Redisにアクセスするためのインターフェースです。
PythonからRedisにアクセスするために必要なライブラリとなります。

また、redis-pyはRedis公式がおススメするオープンソースのPythonライブラリです。
GitHubの公式ページを見ると、Python 2系の扱いについて記述されています。

redis-py 3.5.xまでが、Python 2系に対応するということです。
次のメジャーバージョンアップは、redis-py 4.0になります。

そして、redis-py 4.0ではPython 3.5以降のみの対応になるということです。
個人的には、古いPythonは早く切り捨てるべきと考えています。

そもそも、Pythonには公式開発サイクルが存在しています。
現在の公式開発サイクルは、以下。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月
3.72018年6月27日2023年6月
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月

このサイクルに準じていれば、開発側としての責任は果たしています。
それでいけば、もうPython 3.5に対応する必要はありません。

そのような意味では、redis-pyは移行段階のプロジェクトと言えます。

以上、redis-pyについての説明でした。
次は、redis-pyのシステム要件を確認します。

redis-pyのシステム要件

現時点(2021年5月末)での redis-pyの最新バージョンは、3.5.3となります。
この最新バージョンは、2020年6月2日にリリースされています。

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

  • Windows
  • macOS
  • Linux

そして、サポート対象となるPythonのバージョンは以下。

  • Python 2.7
  • Python 3.5以降

早く、redis-py 4.0にメジャーバージョンアップして欲しいですね。
特に面倒なシステム要件はありません。

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

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

redis-pyのインストール

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

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

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

python -m pip install --upgrade pip setuptools

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

pip install redis

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

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

依存するパッケージは、ありません。
そのため、redis-pyの導入は容易と言えます。

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

redis-pyの動作確認

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

import redis

r = redis.Redis(
    host='localhost',
    port=6379,
    db=0
)

# SET
r.set('key', 12345)

# GET(byte型で戻す)
res = r.get('key')
print(res)

r.close()

内容は、見たままのプログラムです。
上記を実行すると、以下の結果となります。

b'12345'

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

以上、redis-pyの動作確認を説明しました。

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