キーのタイムアウト
memcachedのexpireと同様の仕組みとして,
次の例では,
redis> SET mykey something OK redis> EXPIRE mykey 10 (integer) 1 redis> GET mykey "something" redis> GET mykey "something" redis> GET mykey (nil)
この例のように,
redis> SETEX mykey 10 something OK
はまりどころとして,
redis> SET mynum 10 OK redis> EXPIRE mynum 100 (integer) 1 redis> INCR mynum (integer) 1 redis> GET mynum "1"
“mynum”
この仕様は,
バージョン2.
DBの選択
Redisのデータセットは,
次の例では,
redis> SET mykey ABCDEFG OK redis> SELECT 2 OK redis> SET mykey 1234567 OK redis> SELECT 0 OK redis> GET mykey "ABCDEFG"
DB選択の利用例としては,
複数コマンドのアトミック実行
Redisは,
- ウェブページのアクセス数をカウントするキー“counter”がある。
- このカウンタの現在値を取得し,同時に“0”にリセットしたい。
この場合,
redis> MULTI OK redis> GET counter QUEUED redis> SET counter 0 QUEUED redis> EXEC 1. "10000" 2. OK
MULTIに続くコマンドはすぐには実行されず,
なお,
他のMULTI/
- ※1
- 実はこのようなニーズのためのGETSETという特別なコマンドが用意されています。
キーの検索
Redisに大量のデータを格納するようになると,
例として,
user:ユーザID:属性名
このとき,
redis> KEYS user:123:* 1. "user:123:age" 2. "user:123:location" 3. "user:123:name"
次に,
redis> KEYS user:*:location 1. "user:123:location" 2. "user:456:location" 3. "user:252:location"
この例は小規模なものですが,
まとめ
今回は,
次回からは,