Redis 五种常用的存储结构

简单的了解 Redis 中的四种存储结构,string、List、hash、zsh、set,其中pub/sub,Transaction 不在本文章中介绍。

Redis 的四种存储结构

1. 字符串

key(string) -> value

操作

1
2
3
4
5
6
7
8
#设置变量
set name bilyooyam

#取出变量
get name

#删除变量
del name

2. 列表 (存储的 value 可相同)

key -> [value,value,value]

操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#从右边插入
rpush name linux1
rpush name linux2

#从左边插入
lpush name linux0

#取出指定的一个元素
lindex name 1

#输出指定范围的元素,0 -> -1 指的是取出所有元素
lrange 0 -1

#取出最左边的一个元素
lpop name

#取出最右边的一个元素
rpop name

some Example

1
2
3
4
5
6
7
#两个列表之间的操作

#将列表的右侧POP,Push 进去另外一个列表
brpoplpush list2 list 1

#从左到右检查传入的列表,并对最先遇到的非空列表执行弹出操作
blpop list list2 1

3. 集合(存储的 value 不能相同,无序的)

key -> [value,value,value]

操作

1
2
3
4
5
6
7
8
9
10
11
12
13
#添加元素
sadd school little-school
sadd school middle-school
sadd school college

#获取所有元素
smembers school

#检查元素是否存在
sismember school

#删除元素
srem school middle-school

终端操作记录图

example

1
2
3
4
5
6
7
8
#增加多个元素
sadd set-key a b c

#删除多个元素
srem set-key a b

#将一个元素移到另外一个散列
smove set-key set-key1 a

4. 散列 (无序)

key->[key-value,key-value]

操作

1
2
3
4
5
6
7
8
9
10
11
12
13
#添加散列的键值对用
hset my-hash name bilyooyam
hset my-hash age 24
hset my-hash sex male

#显示所有键值对
hgetall my-hash

#获取某一个键值对
hget my-hash name

#删除某一个散列键值对
hdel my-hash name

散列的操作图

exmaple

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#插入多个数值
hmset hash-key k1 v1 k2 v2

#获取多个数值
hmget hash-key k1 k2

#获取长度
hlen hash-key

#获取 hash 的所有的键值
hkeys hash-key

#检查键是否存在
hexists hash-key k1

5. 有序集合 (先输入分数然后再输入成员)

key->[key-value,key-value]
里面的 key 表示为成员,value表示为分数

操作

1
2
3
4
5
6
7
8
9
10
11
12
13
#添加元素
zadd my-zset 60 Lily
zadd my-zset 80 Mark
zadd my-zset 90 bilyooyam

#显示数据
zrange my-zset 0 -1 withscores

#根据分数显示数据
zrangebyscore my-zset 0 80 withscores

#删除数据
zrem my-zset bilyooyam

zset的操作图

文章对你有用?给博主一个支持
0%