Python用のredis-pyライブラリを使用しRedis Cloudデータベースに接続する

スポンサーリンク

Python用のredis-pyライブラリを使用しRedis Cloudデータベースに接続してみます。

今回はredis-pyライブラリを用います。このライブラリ・モジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。またRedis Cloudのアカウントを事前に登録する必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■接続のためのRedis Cloud設定

redis-pyライブラリを使用しRedis Cloudデータベースに接続してみますので、まずは「Redis Cloud Console(https://app.redislabs.com/#/login)」にアクセスします。アクセス後、お持ちのアカウント情報を入力、もしくはその他のログイン方法でConsoleにログインします。

ログイン後、左側のメニューから「Subscriptions」を選択すると、事前に作成したデータベースが表示されますので、表示されたデータベースの名前(Name)をクリックします。

クリックすると、作成したデータベースの「Configuration(構成)」が表示されます。

この「Configuration(構成)」内に「Security」という項目がありますので、こちらに表示されている「Default user On (Username: “default”)」を確認します。作成したばかりのデータベースではUsernameが「default」になっているので、この情報を保存し、「Default user password」はパスワードがマスクされていますので、「Copy」ボタンをクリックし、パスワードをコピーしておきます。

コピー後、「Configuration(構成)」内の「General(全般)」の項目の「Public endpoint」の「Connect」ボタンをクリックします。

クリックすると、「Connect to ***(データベース名)」というポップアップが表示され、ポップアップ内の「Redis Client」をクリックします。クリックすると、接続のためのコードが表示されますが、初期では「Select your client」が「Node.js」になっていますので、こちらを「Python」に変更します。

変更後、「Copy the following code snippet to your application」に表示されたコードをコピーします。

■redis-pyライブラリを使用しRedis Cloudデータベースに接続する

コピー後、redis-pyライブラリを使用しRedis Cloudデータベースに接続するスクリプトを書いていきます。

■コード

import redis

r = redis.Redis(
  host='****.redislabs.com',
  port=13036,
  password='パスワード')

r.set('test1','田中')
print(r.get('test1'))

まずはimportでredisモジュールを呼び出します。その後、rという変数を定義し、その中でredis.Redis()を用います。括弧内には引数,パラメータとして、host=(ホスト),port=(ポート),password=(パスワード)をそれぞれ渡します。これでRedis プロトコルの実装を行います。

その後、Redis Cloudデータベースにセットを追加するために、r変数に対してset()を用います。括弧内には、第1の引数,パラメータとしてキーの名前を渡します。今回は「test1」とします。第2の引数,パラメータとして項目を渡します。今回は「田中」とします。これでセットが追加されます。

セットを追加後、r変数に対してget()を用います。括弧には引数,パラメータとして「test1」を渡し、セット内の項目を取り出してみます。取り出したものをprint()で出力させます。

■実行・検証

このスクリプトを「redis_test01.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、Redis Cloudデータベース内に追加したセットから指定されたキーの項目を取り出し、出力させることができました。出力させることができましたが、今回は項目が日本語だったため、文字化けが発生してしまいました。

コメント

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