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)

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)

2011年6月11日土曜日

PyMongoでJavaScriptを評価する

PyMongoでJavaScriptを評価するには、以下のコードのようにevalを使用します。

# coding=UTF-8
from pymongo import *
conn = Connection("localhost", 27017)
# JavaScriptを評価する
print(conn.local.eval("function inc(x){return parseInt(x)+1;}", [1]))

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

動作環境
Python 2.6.6, PyMongo 1.7, mongodb1.4.4

2011年6月10日金曜日

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

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

# 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)

# 指定した範囲の値を取得
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月9日木曜日

PyMongoでインデックスを削除する

PyMongoでインデックスを削除するには、以下のコードのようにdrop_indexを使用します。

# coding=UTF-8
from pymongo import *
conn = Connection("localhost", 27017)
conn.local.drop_collection("members")
col = conn.local.members
# インデックスを作成する
indexname = col.create_index("name")
# インデックスを削除する
col.drop_index(indexname)
# インデックスの情報を表示する
for idx in col.index_information():
 print(idx)

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

動作環境
Python 2.6.6, PyMongo 1.7, mongodb1.4.4

2011年6月8日水曜日

redis-pyで指定したキーの値のタイプを取得する

redis-pyで指定したキーの値のタイプを取得するには、以下のコードのようにtypeを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379, db=1)
rc.set('key1', 'value1')
rc.sadd('set1', 'value1')
rc.rpush('list1', 'value1')

# 指定したキーの値のタイプを取得
print('key1:' + rc.type('key1'))
print('set1:' + rc.type('set1'))
print('list1:' + rc.type('list1'))

補足
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月7日火曜日

PyMongoでインデックスの情報を表示する

PyMongoでインデックスの情報を表示するには、以下のコードのようにindex_informationを使用します。

# coding=UTF-8
from pymongo import *
conn = Connection("localhost", 27017)
conn.local.drop_collection("members")
col = conn.local.members
# インデックスを作成する
col.create_index("name")
# インデックスの情報を表示する
for idx in col.index_information():
 print(idx)

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

動作環境
Python 2.6.6, PyMongo 1.7, mongodb1.4.4

2011年6月6日月曜日

redis-pyでキーの期限切れまでの秒数を取得する

redis-pyでキーの期限切れまでの秒数を取得するには、以下のコードのようにttlを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379, db=1)
# 10秒間有効なkey-valueを設定
rc.setex('key1', 'value1', 10)
# 期限切れまでの秒数を取得
print(rc.ttl('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)