try redis 命令记录
try Redis网址 http://try.redis.io/
1. 通过set设值,get取值
> set server:name "fido"
OK
> get server:name
"fido"
2. incr使一个数值加一(保证原子性)、del用于删除key、setnx表示set if not exits,如果不存在时设值
> set connections 10
OK
> incr connections
(integer) 11
> incr connections
(integer) 12
> del connections
(integer) 1
> get connections
(nil)
> setnx connections 10
(integer) 1
> setnx connections 10
(integer) 0
4. expire设置过期时间,-2表示已经过期
> set resource:lock "redis Demo"
OK
> expire resource:lock 20
(integer) 1
> ttl resource:lock
(integer) 9
> ttl resource:lock
(integer) 7
> ttl resource:lock
(integer) -2
5. -1表示永远不会过期,设置了过期的key重新设值后会冲掉设置的过期时间
> set resource:lock "redis Demo"
OK
> expire resource:lock 20
(integer) 1
> set resource:lock "redis Demo2"
OK
> ttl resource:lock
(integer) -1
> get resource:lock
"redis Demo2"
6. 关于list(列表)的操作:RPUSH, LPUSH, LLEN, LRANGE, LPOP, and RPOP
- rpush 从列表尾插入值
- lpush 从列表头插入值
- lrange 获取列表子集,参数1表示开始的index,参数2表示结束的index,参数2设为-1表示至结尾
> rpush friends "alice"
(integer) 1
> rpush friends "bob"
(integer) 2
> lpush friends "sam"
(integer) 3
> lrange friends 0 -1
1) "sam"
2) "alice"
3) "bob"
> lrange friends 0 1
1) "sam"
2) "alice"
> lrange friends 1 2
1) "alice"
2) "bob"
- llen:list 的长度
- lpop:从列表头弹出一个元素
- rpop:从列表尾弹出一个元素
> llen friends
(integer) 3
> lpop friends
"sam"
> rpop friends
"bob"
> llen friends
(integer) 1
> lrange friends 0 -1
1) "alice"
7. 关于set(集合)的操作:SADD, SREM, SISMEMBER, SMEMBERS and SUNION
集合是无序的
- sadd:set中添加元素
- srem:删除set中的元素
> sadd superpower "flight"
(integer) 1
> sadd superpower "x-ray vision"
(integer) 1
> sadd superpower "reflexes"
(integer) 1
> srem superpower "reflexes"
1
- SISMEMBER tests if the given value is in the set. It returns 1 if the value is there and 0 if it is not.
> sismember superpower "flight"
(integer) 1
> sismember superpower "reflexes"
(integer) 0
- SMEMBERS returns a list of all the members of this set.
> smembers superpower
1) "flight"
2) "x-ray vision"
- SUNION combines two or more sets and returns the list of all elements.
> sadd birdpowers pecking
(integer) 1
> sadd birdpowers flight
(integer) 1
> sunion superpower birdpowers
1) "pecking"
2) "flight"
3) "x-ray vision"
8. 关于sorted set(有序集合)的操作
- zadd:用于添加有序集合中的元素
> zadd hackers 1940 "Alan Kay"
(integer) 1
> zadd hackers 1906 "Grace Hopper"
(integer) 1
> zadd hackers 1953 "Richard Stallman"
(integer) 1
> zadd hackers 1916 "Clande Shannon"
(integer) 1
> ZADD hackers 1969 "Linus Torvalds"
(integer) 1
> ZADD hackers 1957 "Sophie Wilson"
(integer) 1
> ZADD hackers 1912 "Alan Turing"
(integer) 1
- zrange: 取出有序的元素
> zrange hackers 2 4
1) "Clande Shannon"
2) "Alan Kay"
3) "Richard Stallman"
9. 散列类型(hashes)
Hashes are maps between string fields and string values, so they are the perfect data type to represent objects (eg: A User with a number of fields like name, surname, age, and so forth):
- hset: 哈希类型中设值
> hset user:1000 name "John Smith"
(integer) 1
> hset user:1000 email "John-Smith@fukaiit.com"
(integer) 1
> hset user:1000 password "dsfsdfdsfsdafadsf"
(integer) 1
- hgetall : 获取哈希类型中所存的值
> hgetall user:1000
1) "name"
2) "John Smith"
3) "email"
4) "John-Smith@fukaiit.com"
5) "password"
6) "dsfsdfdsfsdafadsf"
- hget:获取单个field的值
> hget user:1000 name
"John Smith"
- 一次性设置多个字段的值
> hmset user:1001 name "Mary Jones" password "fdsafdsa" email "mjones@fukaiit.com"
OK
> hgetall user:1001
1) "name"
2) "Mary Jones"
3) "password"
4) "fdsafdsa"
5) "email"
6) "mjones@fukaiit.com"
- Numerical values in hash fields are handled exactly the same as in simple strings and there are operations to increment this value in an atomic way.
> hset user:1000 visits 10
(integer) 1
> hincrby user:1000 visits 1
(integer) 11
> hincrby user:1000 visits 10
(integer) 21
> hdel user:1000 visits
(integer) 1
> hincrby user:1000 visits 2
(integer) 2