Redis
Redis とは
Redis(remote dictionary server) はオンメモリのKVSです。
オンメモリなのでmemcacheのように高速で、さらにソートなどの便利機能がついてます
格納できるキーやバリューもバイナリ文字列が使えます
http://redis.io/
redis 起動
$ redis-server $ redis-cli
キー
バイナリセーフな文字列が使えます。
なので画像もキーにできる。
512MBまでOK
データタイプ
Redisがサポートするのは文字列だけではなく、次の7種類のデータタイプをサポートします。
Strings
バイナリセーフな文字列。なので画像も保存できるようですね。
これも512MBまでです。
使い方
// 格納 > set <KEY> <VALUE> // 取得 get <KEY>
例
> set mylist a OK > get mylist a
Lists
配列みたいなものです(正確には Linked List)
使い方
// 格納 rpush <KEY> <VALUE> // 取得
例
> rpush mylist A (integer) 1 > rpush mylist B (integer) 1 > lrange mylist 0 -1 1) "A" 2) "B"
Hash
使い方
hmset <HashName> <KEY> <VALUE> ...
例
> hmset myhash name tarou birthday 19860101 OK > hmget myhash name 1) "tarou" > hmget myhash birthday 1) "19860101"
Sets
順序をもたないユニークなバリューの集合体。だそうです。
ソートはされてません
> sadd myset 1 2 3 (integer) 3 > smembers myset 1) "1" 2) "2" 3) "3"
Sorted Sets
ソートされたSets
Sets と同じものとしてもいいのかもしれません
> zadd myscores 120 john (integer) 1 > zadd myscores 110 paul (integer) 1 > zadd myscores 100 george (integer) 1 > zadd myscores 80 ringo (integer) 1 > zrange myscores 0 -1 1) "ringo" 2) "george" 3) "paul" 4) "john" > zrevrange myscores 0 -1 1) "john" 2) "paul" 3) "george" 4) "ringo"