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

前回に引き続き、Python対話モードでredis-pyを実験してみたいと思います。

準備

Redisサーバーを起動し、

$ sudo redis-server /etc/redis.conf

接続します。

>>> import redis
>>> conn = redis.Redis(host='localhost', port=6379, db=0)

準備完了。
さあ、実験しましょう。

キーの有効期限を設定する

expire関数を使う。

まず、何かキーをセットします。

>>> conn = conn.set('lang', 'Python')
>>> conn.get('lang')
b'Python'

つづいて、キーの寿命を10秒後に設定します。

>>> conn = conn.expire('lang', 10)
True
>>> conn.get('lang')
b'Python'
〜 しばらく(10秒以上)待つ。〜
>>> con.get('lang')
>>> 

キーが消滅しました。

redis-cliで実行すると、

> set lang Python
OK
> get lang
"Python"
> expire lang 5
(integer) 1
〜5秒以上待つ〜
> get lang
(nil)

確かに、消えた。

キーの寿命を解除する

expireを解除するにはpersist関数を使います。

>>> conn.set('lang', 'Ruby')
>>> conn.expire('lang', 60) # 60秒後にキーを削除
>>> conn.persist('lang') # やっぱりやめとこっと
〜 1分以上待つ 〜
>>> conn.get('lang')
b'Ruby' キーは消えていない

キーの寿命を取得する

ttl関数を使う。

>>> conn.set('lang', 'Python')
>>> conn.expire('lang', 60)
>>> conn.ttl('lang')
57
〜 しばらく待つ 〜
>>> conn.ttl('lang')
>>>  キーが消滅するとNoneが返る。
Redisプログラミング物語 © 2016 Frontier Theme