2011年7月8日金曜日

redis-pyで現在のDBのキーを全て削除する

redis-pyで現在のDBのキーを全て削除するには、以下のコードのようにflushdbを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379, db=1)
rc.set('key1', 'value1')
# 現在のDBのキーを全て削除する
rc.flushdb()
print(rc.get('key1'))

補足
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)

2011年7月6日水曜日

redis-pyでアトミックに複数のコマンドを実行するpipelineを使用する

redis-pyでアトミックに複数のコマンドを実行するpipelineを使用するには、以下のコードのようにpipelineとexecuteを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
# アトミックに複数のコマンドを実行するpipelineを作成
pl = rc.pipeline()
pl.set('key1', 'value1')
pl.set('key2', 'value2')
pl.set('key3', 'value3')
pl.execute()
for value in rc.mget(['key1', 'key2', 'key3']):
 print(value)

補足
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)

2011年7月4日月曜日

redis-pyで複数のSorted Setの和集合を返す

redis-pyで複数のSorted Setの和集合を返すには、以下のコードのようにzunionstoreを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379, db=1)
rc.delete('ss1')
# Sorted Setに値を追加
rc.zadd('ss1', '商品1', 100)
rc.zadd('ss1', '商品2', 200)
rc.zadd('ss1', '商品3', 300)
rc.zadd('ss2', '商品2', 1000)
rc.zadd('ss2', '商品3', 100)
# 複数のSorted Setの和集合を返す
# スコアはSUMされる
rc.zunionstore('rs', ['ss1', 'ss2'])
for value in rc.zrange('rs', 0, -1):
 print(value)

補足
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)

2011年7月2日土曜日

redis-pyでSorted Setの値のスコアを取得する

redis-pyでSorted Setの値のスコアを取得するには、以下のコードのようにzscoreを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379, db=1)
rc.delete('ss1')
# Sorted Setに値を追加
rc.zadd('ss1', '商品1', 100)
rc.zadd('ss1', '商品2', 200)
rc.zadd('ss1', '商品3', 300)
# Sorted Setの値のスコアを取得する
print(rc.zscore('ss1', '商品2'))

補足
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)

2011年6月30日木曜日

redis-pyでSorted Setで値の最下位からの順位を取得する

redis-pyでSorted Setで値の最下位からの順位を取得するには、以下のコードのようにzrevrankを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379, db=1)
rc.delete('ss1')
# Sorted Setに値を追加
rc.zadd('ss1', '商品1', 100)
rc.zadd('ss1', '商品2', 200)
rc.zadd('ss1', '商品3', 300)
# Sorted Setで値の最下位からの順位を取得する
print(rc.zrevrank('ss1', '商品3'))

補足
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)

2011年6月28日火曜日

redis-pyでSorted Setで降順指定の範囲の値を取得する

redis-pyでSorted Setで降順指定の範囲の値を取得するには、以下のコードのようにzrevrangeを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379, db=1)
rc.delete('ss1')
# Sorted Setに値を追加
rc.zadd('ss1', '商品1', 100)
rc.zadd('ss1', '商品2', 200)
rc.zadd('ss1', '商品3', 300)
# Sorted Setで降順指定の範囲の値を取得する
for value in rc.zrevrange('ss1', 0, 1):
 print value

補足
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)

2011年6月26日日曜日

redis-pyでSorted Setで指定範囲のスコアの値を削除する

redis-pyでSorted Setで指定範囲のスコアの値を削除するには、以下のコードのようにzremrangebyscoreを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379, db=1)
rc.delete('ss1')
# Sorted Setに値を追加
rc.zadd('ss1', '商品1', 100)
rc.zadd('ss1', '商品2', 200)
rc.zadd('ss1', '商品3', 300)
rc.zadd('ss1', '商品4', 400)
rc.zadd('ss1', '商品5', 500)
# Sorted Setで指定範囲のスコアの値を削除する
rc.zremrangebyscore('ss1', 250, 500)
for value in rc.zrange('ss1', 0, -1):
 print value

補足
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)