Redies : key-value store 键-值存储
命令测试地址 http://try.redis.io/
1.设置与获取值
SET a "test"
GET a => "test"
2.自增,删除值 increase
SET num 10
INCR num => 11
DEL num
INCR num => 1
比较以下代码与INCR
x = GET num
x= x+1
SET num x
其中,INCR是原子操作,可保证一致性,而代码不是原子性
3.设置与查看过期时间 time to live
SET a "test ttl"
EXPIRE a 20 //20s后过期
TTL a => 17 //三秒后查看
TTL a =>-2 //20s后查看
TTL 值,-1表示永不过期,-2表示这个键已过期不再存在
4.其他复杂数据结构
a)List
数组尾部追加 right push
RPUSH friends "Tom"
RPUSH friends "Jim"
数组头部追加 lift push
LPUSH friends "Lily"
取数组子集 list range
LRANGE friends 0 -1 => 全部
LRANGE friends 0 1 => 1)"Lily", 2)"Tom"
LRANGE friends 1 2 => 1)"Tom", 2)"Jim"
数组长度 list length
LLEN friends =>3
取头部数据并删除 left pop
LPOP friends => "Lily"
取尾部数据并删除
RPOP friends => "Tom"
b)Set
添加值到set
SADD user "user1"
SADD user "user2"
删除值
SREM user "user2"
检测值是否在set中 set is member
SISMEMBER user "user1" => 1
SISMEMBER user "user3" => 0
查看set
SMEMBERS user => 1)"user1",2) "user2"
求交集
SADD u2 "user2"
SADD u2 "user4"
SUNION user u2 => 1)"user1",2) "user2",3)"user4"
c)ZSet(sorted set)
ZADD hackers 1940 "Alan Kay"
ZADD hackers 1906 "Grace Hopper"
ZADD hackers 1953 "Richard Stallman"
ZADD hackers 1965 "Yukihiro Matsumoto"
d)Hashes (string key string value 映射,可用以保存对象信息)
设置值
HSET user name "Tom"
HSET user age "13"
一次设置多个值
HSET user name "Tom" age "13"
获取值
HGETALL user
获取指定key的值
HGET user name => "Tom"