2011年3月15日火曜日

redis-pyでhashにfieldが存在しない場合のみ値を設定する

redis-pyでhashにfieldが存在しない場合のみ値を設定するには、以下のコードのようにhsetnxを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
rc.delete('hash1')
# hashにkey-valueを設定
rc.hset('hash1', 'field1', 'value1')
# fieldが存在しない場合のみ値を設定
rc.hsetnx('hash1', 'field1', 'modified')
rc.hsetnx('hash1', 'field2', 'value2')
# 値を取得
print(rc.hget('hash1', 'field1'))
print(rc.hget('hash1', 'field2'))

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)

0 件のコメント:

コメントを投稿