Redis で利用可能なコマンドを、公式ドキュメントからメモ。
QUIT
サーバとの接続を切断する。
$ telnet localhost 6379 Trying ::1... telnet: connect to address ::1: Connection refused Trying fe80::1... telnet: connect to address fe80::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. QUIT Connection closed by foreign host.
AUTH <password>
SET foo 3 bar -ERR operation not permitted AUTH foobared +OK SET foo 3 bar +OK AUTH foobare -ERR
$ diff -u redis.conf.orig redis.conf --- redis.conf.orig 2009-11-11 21:53:43.000000000 +0900 +++ redis.conf 2009-11-11 21:53:46.000000000 +0900 @@ -76,7 +76,7 @@ # This should stay commented out for backward compatibility and because most # people do not need auth (e.g. they run their own servers). -# requirepass foobared +requirepass foobared ################################### LIMITS ####################################
※ これ以降、パスワード保護は無効にしているものとする
SET <key> <bytes> <data>
SET foo 3 bar +OK
GET <key>
GET foo $3 bar
GETSET <key> <bytes> <data>
GETSET foo 5 12345 $3 bar GET foo $5 12345 GETSET hoge 3 bar GETSET hoge 3 bar $-1 GET hoge $3 bar
MGET <key 1> <key 2> ... <key N>
MGET foo hoge *2 $5 12345 $3 bar MGET foo bar *2 $5 12345 $-1
SETNX <key> <bytes> <data>
SETNX newone 3 bar :1 SETNX foo 3 bar :0 GET newone $3 bar GET foo $5 12345
INCR <key>
INCR i :1 INCR i :2 INCR foo :12346
INCRBY <key> <integer>
INCRBY j 2 :2 INCRBY j 3 :5
DECR <key>
DECR j :4 DECR k :-1
※ ドキュメントでは "DECR <key> <integer>" となっていたが、実際は DECR で数値指定はできない
DECR j 2 -ERR wrong number of arguments
DECRBY <key> <integer>
DECRBY j 2 :2
EXISTS <key>
EXISTS foo :1 EXISTS nokey :0
DEL <key>
DEL foo :1 DEL nokey :0
TYPE <key>
TYPE nokey +none TYPE i +string
KEYS <pattern>
SET hello 3 bar +OK SET hallo 3 bar +OK SET hhllo 3 bar +OK SET heeeello 3 bar +OK KEYS h?llo $17 hallo hello hhllo KEYS h*llo $26 hallo heeeello hello hhllo KEYS hallo $5 hallo KEYS halllo $0
RANDOMKEY
RANDOMKEY +hello
RENAME <old key> <new key>
SET foo 3 bar +OK SET hoge 4 fuga +OK RENAME foo foofoo +OK GET foofoo $3 bar GET foo $-1 RENAME hoge foofoo +OK GET foofoo $4 fuga RENAME foofoo foofoo -ERR source and destination objects are the same
RENAMENX <old key> <new key>
RENAMENX foofoo foo :1 RENAMENX hello foo :0 GET foo $4 fuga GET hello $3 bar
DBSIZE
DBSIZE :9 KEYS * $43 k newone hallo heeeello foo hello hhllo i j
EXPIRE <key> <second> EXPIREAT <key> <unixtime> (Redis >= 1.1)
GET k $2 -1 EXPIRE k 10 :1 GET k $2 -1 ... 10 seconds after ... GET k $-1
TTL <key>
EXPIRE j 100 :1 TTL j :31 TTL j :28 TTL i :-1
RPUSH <key> <bytes> <data>
RPUSH l 1 b +OK RPUSH l 1 a +OK LLEN l :2 LRANGE l 0 1 *2 $1 b $1 a
LPUSH <key> <bytes> <data>
LPUSH l 1 c +OK LPUSH l 1 d +OK LLEN l :4 LRANGE l 0 4 *4 $1 d $1 c $1 b $1 a
LLEN <key>
LLEN l :4 LLEN r :0 GET foo $4 fuga LLEN foo -ERR Operation against a key holding the wrong kind of value
LRANGE <key> <start index> <end index>
LRANGE l 0 2 *3 $1 d $1 c $1 b LRANGE l 0 -1 *4 $1 d $1 c $1 b $1 a
LTRIM <key> <start index> <end index>
LRANGE l 0 -1 *4 $1 d $1 c $1 b $1 a LTRIM l 2 3 +OK LRANGE l 0 - 1 -ERR wrong number of arguments LRANGE l 0 -1 *2 $1 b $1 a
LINDEX <key> <index>
LINDEX l 0 $1 b
LSET <key> <index> <bytes> <data>
LSET l 1 10 1234567890 +OK LRANGE l 0 -1 *2 $1 b $10 1234567890 LSET l 3 1 a -ERR index out of range
LREM <key> <count> <bytes> <data>
LPUSH x 1 b +OK LPUSH x 1 a +OK LPUSH x 1 b +OK LPUSH x 1 b +OK LREM x 2 1 a :2 LRANGE x 0 -1 *3 $1 b $1 b $1 b LREM x -2 1 b :2 LRANGE x 0 -1 *1 $1 b
LPOP <key>
RPUSH y 1 a +OK RPUSH y 1 b +OK LPOP y $1 a LPOP y $1 b LPOP y $-1
RPOP <key>
RPUSH y 1 a +OK RPUSH y 1 b +OK RPOP y $1 b RPOP y $1 a RPOP y $-1
RPOPLPUSH <srckey> <dstkey>
SADD <key> <member>
SADD p 1 a :1 SADD p 1 b :1 SMEMBERS p *2 $1 a $1 b
SREM <key> <member>
SREM p 1 b :1 SMEMBERS p *1 $1 a SREM p 1 c :0 SMEMBERS p *1 $1 a
SPOP <key>
SPOP q $1 a SMEMBERS q *1 $1 x
SMOVE <srckey> <dstkey> <member>
SADD q 1 x :1 SMOVE p q 1 a :1 SMOVE p q 1 b :0 SMEMBERS p *0 SMEMBERS q *2 $1 x $1 a
SCARD <key>
SCARD p :0 SCARD q :2 SCARD no :0
SISMEMBER <key> <member>
SMEMBERS q *2 $1 x $1 a SISMEMBER q 1 a :1 SISMEMBER q 1 b :0
SINTER <key 1> <key 2> ... <key N>
SADD p 1 a :1 SMEMBERS p *1 $1 a SMEMBERS q *2 $1 x $1 a SINTER p q *1 $1 a
SINTERSTORE <dstkey> <key 1> <key 2> ... <key N>
SINTERSTORE t p q :1 SMEMBERS t *1 $1 a
SUNION <key 1> <key 2> ... <key N>
SUNION p q *2 $1 x $1 a
SUNIONSTORE <dstkey> <key 1> <key 2> ... <key N>
SUNIONSTORE r p q :2 SMEMBERS r *2 $1 x $1 a
SDIFF <key 1> <key 2> ... <key N>
SMEMBERS p *1 $1 a SMEMBERS q *2 $1 x $1 a SDIFF p q *0 SDIFF q p *1 $1 x
SDIFFSTORE <dstkey> <key 1> <key 2> ... <key N>
SDIFFSTORE qq q p :1 SMEMBERS qq *1 $1 x
SMEMBERS q *2 $1 x $1 a
SRANDMEMBER <key>
SRANDMEMBER q -ERR unknown command
INFO
INFO $290 redis_version:1.02 uptime_in_seconds:4 uptime_in_days:0 connected_clients:1 connected_slaves:0 used_memory:10208 changes_since_last_save:0 bgsave_in_progress:0 last_save_time:1258452938 total_connections_received:1 total_commands_processed:0 role:master db0: keys=16,expires=0
MONITOR
MONITOR +OK MONITOR SADD p 1 z :1 SADD p 1 z
SLAVEOF <host> <port> SLAVEOF NO ONE
Keyword(s):[kvs] [redis]
References: