redis-py体験レポート No.1

Python対話モードでredis-pyを使ってみます。

まだredis-pyをインストールしていない人は、以下のコマンドを積極的に打ち込むべし。

$ pip install redis
>>> import redis
>>> conn = redis.Redis(host='localhost', port=6379, db=0) # デフォルト値で接続(引数は指定しなくても良い)

キーを全部削除する

>>> con.flushall()

redis-cliで実行すると、

> flushall
OK

存在するキーを取得する

>>> conn.keys('*') # ワイルドカードで全部のキーを取得する。
[]
>>> conn.keys() # 引数は省略できるらしい。
[]

redis-cliで実行すると、

> keys *
(empty list or set)

複数のキーに値をセットする

>>> conn.mset({'1':'Python', '2':'Ruby', '3':'JavaScript'})
True

redis-cliで実行すると、

> mset 1 Python 2 Ruby 3 JavaScript
OK

複数のキーから値を取得する

>>> conn.mget('1', '2', '3')
[b'Python', b'Ruby', b'JavaScript']
>>> conn.mget(1, 2, 3) # キーを数値にすると自動的に文字列に変換してくれるらしい
[b'Python', b'Ruby', b'JavaScript']

redis-cliで実行すると、

> mget 1 2 3
1) "Python"
2) "Ruby"
3) "JavaScript"

キーの存在チェック

>>> conn.exists(1)
True
>>> conn.exists(100)
False

redis-cliで実行すると、

> exists 1
(integer) 1
> exists 100
(integer) 0

キーがあれば1、なければ0になるようだ。

キーの削除

delete関数を使う。

>>> conn.keys() # 現在のキーを調べておく。
[b'3', b'2', b'1']
>>> conn.delete(2) # キー2を削除する。
1
>>> conn.keys() # 削除後のキーを調べる。
[b'3', b'1'] 確かにキー2が消えている。

redis-cliで実行すると、

& keys *
1) "3"
2) "2"
3) "1"
& del 2
(integer) 1
& keys *
1) "3"
2) "1"

値の種類を調べる

type関数を使う。

>>> conn.set('lang', 'Python')
True
>>> conn.set('area', 12345)
True
>>> conn.set('code', '777')
True
>>> conn.type('lang')
b'string'
>>> conn.type('area')
b'string'
& conn.type('code')
b'string'

数値も数字文字列として保存されているようです。

redis-cliで実行すると、

> flushall とりあえず、全てのキーを削除する。
OK
> MSET lang Python area 12345 code 777 めんどくさいので、まとめてセット。
OK
> type lang
string
> type area
string
> type code
string
Redisプログラミング物語 © 2016 Frontier Theme