源本科技 | 码上会

Redis 数据结构

2026/04/29
3
0

String

字符串类型是最基本的数据结构,存储的是简单的字符串值。如果对同一个键多次赋值,后一次赋值会覆盖前一次的值。

存储

# 语法
set key value
Redis:0 > set username zhangsan
"OK"

获取

# 语法
get key
Redis:0 > get username
"zhangsan"

删除

# 语法
del key
Redis:0 > del username
"1"

Hash

哈希类型用于存储键值对的集合,类似于字典或映射表。

存储

# 语法
hset key field value
Redis:0 > hset myHash username zhangsan
"1"
Redis:0 > hset myHash password 123456
"1"

获取

# 语法
hget key field
Redis:0 > hget myHash username
"zhangsan"

获取所有字段和值

hgetall key
Redis:0 > hgetall myHash
1) "username"
2) "zhangsan"
3) "password"
4) "123456"

删除

# 语法
hdel key field
Redis:0 > hdel myHash username
"1"

List

列表类型是一个双向链表,支持从两端添加和删除元素,元素可以重复。

添加

# 语法
lpush key value  # 添加到列表头部
rpush key value  # 添加到列表尾部
Redis:0 > lpush myList a
"1"
Redis:0 > lpush myList b
"2"
Redis:0 > rpush myList c
"3"

获取

# 语法
lrange key start end
Redis:0 > lrange myList 0 -1
1) "b"
2) "a"
3) "c"

删除

# 语法
lpop key  # 删除并返回列表头部的元素
rpop key  # 删除并返回列表尾部的元素
Redis:0 > lpop myList
"b"
Redis:0 > rpop myList
"c"

Set

集合类型是一个无序且不重复的元素集合。

存储

# 语法
sadd key value
Redis:0 > sadd mySet a
"1"
Redis:0 > sadd mySet a
"0"

获取

# 语法
smembers key
Redis:0 > smembers mySet
1) "a"

删除

# 语法
srem key value
Redis:0 > srem mySet a
"1"

Sorted Set

有序集合类型是一个有序且不重复的元素集合,每个元素都有一个分数,Redis 根据分数对元素进行排序。

存储

# 语法
zadd key score value
Redis:0 > zadd mySort 60 zhangsan
"1"
Redis:0 > zadd mySort 50 lisi
"1"
Redis:0 > zadd mySort 80 wangwu
"1"

获取

# 语法
zrange key start end [withscores]
Redis:0 > zrange mySort 0 -1
1) "lisi"
2) "zhangsan"
3) "wangwu"

删除

# 语法
zrem key value
Redis:0 > zrem mySort lisi
"1"