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)

0 件のコメント:

コメントを投稿