2011年4月22日金曜日

redis-pyでリネーム先のキーが存在しない場合にキーをリネームする

redis-pyでリネーム先のキーが存在しない場合にキーをリネームするには、以下のコードのようにrenamenxを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
rc.set('key1', 'value1')
rc.set('key2', 'value2')
rc.delete('key3')
# リネーム後のキー名が存在しない場合、キーをリネームする
# (key2が存在するので、key1がそのまま残る)
rc.renamenx('key1', 'key2')
print(rc.get('key1'))
print(rc.get('key2'))
# リネーム後のキー名が存在しない場合、キーをリネームする
# (key3は存在しないので、key1のリネームが成功する)
rc.renamenx('key1', 'key3')
print(rc.get('key1'))
print(rc.get('key3'))

補足
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 件のコメント:

コメントを投稿