redis
Pythonを使ってredisに接続する
サーチ…
前書き
PythonでRedisに接続するには、クライアントライブラリを使用する必要があります。 Pythonには多くの異なるクライアントライブラリが存在しますが、 redis-pyは最も一般的なクライアントの1つです。
クライアントライブラリをインストールすると、適切なモジュールをインポートして接続を確立し、コマンドを実行することで、アプリケーションのRedisにアクセスできます。
備考
RedisをPythonで接続するには、 クライアントをインストールする必要があります 。あなたはpipを使って次のようにインストールできます:
pip install redis
オプションで、 hiredis-pyをインストールして、プロトコルメッセージの解析をC hiredisクライアントに任せることができます。これにより、多くの状況でパフォーマンスが大幅に向上します。以下のコマンドを実行してhiredisをインストールすることができます:
pip install hiredis
リストに要素を追加する
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.lpush('myqueue','myelement')
ハッシュにフィールドを追加する
Redis(HSETとHMSET)には、フィールドをハッシュキーに追加するための2つの主な機能があります。どちらの機能もredis-pyで利用できます。
HSETの使用:
import redis
r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hset('my_key', 'field0', 'value0')
HMSETの使用:
import redis
r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hmset('my_key', {'field0': 'value0', 'field1':'value1', 'field2':'value2'}
Redisへの接続の設定
redis-pyクライアントは、Redisデータベースへの基本的な接続を確立するためにStrictRedis
とRedis
2つのクラスを提供します。 Redis
クラスは下位互換性のために提供され、新しいプロジェクトはStrictRedis
クラスを使用する必要があります。
接続を確立するための推奨される方法の1つは、辞書に接続パラメータを定義し、 **
構文を使用して辞書をStrictRedis
コンストラクタに渡すことです。
conn_params = {
"host": "myredis.somedomain.com",
"port": 6379,
"password": "sekret",
"db": 0
}
r = redis.StrictRedis(**config)
トランザクションの作成
StrictRedis
pipeline
メソッドを呼び出すことによってトランザクションを確立することができます。トランザクションに対して実行されるRedisコマンドは、1つのブロックで実行されます。
# defaults to transaction=True
tx = r.pipeline()
tx.hincrbyfloat(debit_account_key, 'balance', -amount)
tx.hincrbyfloat(credit_account_key, 'balance', amount)
tx.execute()
コマンドの直接実行
Redis-pyは、Redis操作を直接呼び出すexecute_command
メソッドを提供します。この機能を使用して、redis-pyクライアントでサポートされているインタフェースを持たないモジュールにアクセスすることができます。たとえば、 execute_command
を使用して、Redisサーバーにロードされたすべてのモジュールをリストすることができます。
r.execute_command('MODULE', 'LIST')