2011年6月24日金曜日

redis-pyでSorted Setで指定範囲の順位の値を削除する

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

# 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.zremrangebyrank('ss1', 3, -1)
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)

2011年6月22日水曜日

redis-pyでSorted Setで指定の値を削除する

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

# 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で指定の値を削除する
rc.zrem('ss1', '商品1')
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)

2011年6月20日月曜日

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

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

# 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.zrank('ss1', '商品1'))
print(rc.zrank('ss1', '商品2'))
print(rc.zrank('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月18日土曜日

redis-pyでSorted Setの指定のスコア範囲の要素を取得する

redis-pyでSorted Setの指定のスコア範囲の要素を取得するには、以下のコードのようにzrangebyscoreを使用します。

# 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)
# 指定のスコア範囲の要素を取得する
for value in rc.zrangebyscore('ss1', 200, 300):
 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月16日木曜日

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

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

# 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.zinterstore('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年6月14日火曜日

redis-pyでSorted Setの指定した値のスコアをインクリメントする

redis-pyでSorted Setの指定した値のスコアをインクリメントするには、以下のコードのようにzincrbyを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379, db=1)
rc.delete('ss1')
# Sorted Setに値を追加
rc.zadd('ss1', 'value1', 100)
rc.zadd('ss1', 'value2', 200)
rc.zadd('ss1', 'value3', 300)
# 指定した値のスコアをインクリメントする
rc.zincrby('ss1', 'value2', 1000)
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)

2011年6月12日日曜日

redis-pyでSorted Setの要素数を取得する

redis-pyでSorted Setの要素数を取得するには、以下のコードのようにzcardを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379, db=1)
rc.delete('ss1')
# Sorted Setに値を追加
rc.zadd('ss1', 'value1', 100)
rc.zadd('ss1', 'value2', 200)
rc.zadd('ss1', 'value3', 300)

# Sorted Setの要素数を取得
print(rc.zcard('ss1'))

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