redis基础教程
1、 string数据结构
a) SET server:name "fido"
b) SETNX server:name1"jian"
c) GET server:name
删除一个key
d) DEL server:name
value自动增长
e) SET connections 10
f) INCR connections => 11
g) INCR connections => 12
h) DEL connections
设置key过期时间
i) SET resource:lock "Redis Demo"
j) EXPIRE resource:lock 120
查看key过期时间
k) TTL resource:lock => 113
l) TTL为-2则key不存在,TTL为-1则永不过期
2、 list数据结构
和列表相关的命令,RPUSH, LPUSH, LLEN, LRANGE, LPOP, and RPOP。
RPUSH:把新的值放在列表最后面
LPUSH:把新的值放在列表最前面
LRANGE:截取子串
LLEN:返回当前list长度
LPOP:移除第一个元素并返回他
RPOP:移除最后一个元素并返回他
a) RPUSH friends "Alice"
b) RPUSH friends "Bob"
c) LPUSH friends "Sam"
d) LRANGE friends 0 -1 => 1) "Sam", 2) "Alice", 3) "Bob"
e) LRANGE friends 0 1 => 1) "Sam", 2) "Alice"
f) LRANGE friends 1 2 => 1) "Alice", 2) "Bob"
g) LLEN friends => 3
h) LPOP friends => "Sam"
i) RPOP friends => "Bob"
3、 set数据结构
和list相似,但是没有顺序,每个元素只出现一次,相关命令, SADD, SREM, SISMEMBER, SMEMBERS and SUNION.
SADD:添加给定的值到集合
SREM:从集合移除给定的值
SISMEMBER:测试给定的值是否已存在,存在返回1,不存在返回0
SMEMBERS:返回一个集合成员组成的列表
SUNION:合并两个或更多的集合,取并集,并返回集合组成的列表
a) SADD superpowers "flight"
b) SADD superpowers "x-ray vision"
c) SADD superpowers "reflexes"
d) SREM superpowers "reflexes"
e) SISMEMBER superpowers "flight" => 1
f) SISMEMBER superpowers "reflexes" => 0
g) SMEMBERS superpowers => 1) "flight", 2) "x-ray vision"
h) SADD birdpowers "pecking"
i) SADD birdpowers "flight"
j) SUNION superpowers birdpowers => 1) "pecking", 2) "x-ray vision", 3) "flight"
4、 有序集合
和常规集合类似,但是每一个值有一个相关的标记。
a) ZADD hackers 1940 "Alan Kay"
b) ZADD hackers 1906 "Grace Hopper"
c) ZADD hackers 1953 "Richard Stallman"
d) ZADD hackers 1965 "Yukihiro Matsumoto"
e) ZADD hackers 1916 "Claude Shannon"
f) ZADD hackers 1969 "Linus Torvalds"
g) ZADD hackers 1957 "Sophie Wilson"
h) ZADD hackers 1912 "Alan Turing"
这个例子的标记就是年份
i) ZRANGE hackers 2 4 => 1) "Claude Shannon", 2) "Alan Kay", 3) "Richard Stallman"
5、 Hash数据类型
散列是字符串字段和字符串值之间的映射,因此它们是表示对象的完美数据类型(例如:有许多字段的用户,如姓名、姓氏、年龄等):
a) HSET user:1000 name "JohnSmith"
b) HSET user:1000 email "john.smith@example.com"
c) HSET user:1000 password "s3cret"
得到所有存储的数据:
d) HGETALL user:1000
还可以一次存储多个字段:
e) HMSET user:1001 name "Mary Jones" password "hidden" email mjones@example.com
获取指定字段的值:
f) HGET user:1001 name => "Mary Jones"
在hash中以数字存储的值,处理方式与简单的字符串完全相同,这里有以原子操作增加值。
g) HSET user:1000 visits 10
h) HINCRBY user:1000 visits 1 => 11
i) HINCRBY user:1000 visits 10 => 21
j) HDEL user:1000 visits
k) HINCRBY user:1000 visits 1 => 1