> set server:name "fido"
OK
>get server:name
"fido"
> del server:name
(integer) 1
> get server:name
(nil)
> set connections 10
OK
> get connections
"10"
> incr connections
(integer) 11
> incr connections
(integer) 12
>del connections
(integer) 1
> get connections
(nil)
> incr connections
(integer) 1
# incr 是一个原子操作,不会出现脏读,赃写等错误
#expire 设置 key 存贮的时间,过期则自动删除, 单位是秒
# ttl 查看key 还有多少时间过期
> SET resource:lock "Redis Demo"
OK
> exprie resouce: lock 60
(integer) 1
> ttl resource:lock
(integer) 52
> ttl resource: lock
(integer) -2
# Redis 存放List, 相关命令 RPUSH, LPUSH, LLEN, LANGE, LPOP and RPOP
> rpush friends "Alice"
> rpush friends "Bob"
> lpush friends "Sam"
# Lrange 得到一个list 的子集, 第一个参数指子集的第一个元素,每二个参数指子集的最后
# 一个元素,第二个参数为 -1 ,指取元素直到list 的最后。
> Lrange friends 0 -1
1) "Sam"
2) "Alice"
3) “Bob"
> Lrange friends -1 2
(empty list or set)
> LLEN friends
3
> LPOP friends
"Sam"
> RPOP friends
"Bob"
# redis 也可以存放 set, set 与list 类似, 元素没有顺序,每个元素只能有一个,不能重复。
# sadd 添加元素,srem 删除元素
> sadd superpowers "flight"
(integer) 1
> sadd superpowers "x-ray"
(integer) 1
> sadd superpowers "reflexes"
(integer) 1
> srem superpowers "reflexes"
1
# sismember 测试 给定值是否已经在set 中
> sismember superpowers "flights"
(integer) 1
> sismember superpowers "flex"
(integer) 0
# sunion 合并两个或多个集合
>sadd birdpowers "flight"
(integer) 1
>sadd birdpowers "pecking"
(integer) 1
>sunion superpowers birdpowers
1) "flight"
2) "pecking"
3) "x-ray vision"
# Sorted Sets, 可排序的set 每个value 会被分配一个score, 这个score 被用于排序
> zadd hackers 1940 "Alan Key"
(integer) 1
> zadd hackers 1906 "Grace Hpper"
(integer) 1
> zadd hacker 1953 "Richard Stallman"
(integer) 1
> zrange hackers 0 -1
1) "Grace Hopper"
2) "Alan Key"
3) "Richard Stallman"
# Hashes 数据类型,非常适合展示对象,比如一个有多个属性的用户。
>hset user:1000 name "John Smith"
(integer) 1
> hset user:1000 email "john.smith@example.com"
(integer) 1
> hset user: 1000 password "s3cret"
(integer) 1
# 取回数据用HGETALL
> hgetall user:1000
1) "name”
2)“John Smith”
3) "email"
4) "john.smith@example.co"
5) "password"
6) "s3cret"
# HMSET, 你也可以一次设置多个值
> hmset user:1001 name "Mary Jones" password "hidden" email "mjoness@example.com"
OK
> hgetall user:1001
1) "name"
2) "Mary Jones"
3) "password"
4) "hidden"
5) "email"
6) "mjones@example.com"
# hget,取一个属性
> hget user:1001 name
"Marry Jones"
# 在hash 字段中存放的数字值可被用命令 HINCRBY 增加
> hset user:1000 vistis 10
(integer) 1
> hincrby user:1000 vistis 1
(integer) 11
> hincrby user:1000 visits 10
(integer) 21
> hdel user:1000 visits
(integer) 1
> get user:1000 vistis
(nil)
> hincrby user:1000 visits 1
(integer) 1
> hget user:1000 vistis
"1"