# Redis 数据类型

author:徐振东

createTime:2022-05-16

updateTime:2022-06-10


2022-06-10: 培训结束

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)以及zset(有序集合)

# string (字符串)

string 是Redis基本数据类型,string类型的值最大能支持存储512MB

string 是二进制安全的,即string类型的值不仅可以存储字符串,也能二进制数据,如照片,视频或序列化后的二进制对象。

示例:

#向key中写入一个string类型的值
set key "value"
# 从key中读取写入的值
get key
"value"

# Hash (哈希)

redis中的hash是键值对集合

redis Hash 是一个string 类型的field 和 value 的映射表, hash 特别适合存储对象, 每个 hash 可以存储 232 -1个键值对,可通过 hset 和 hget 两个命令向hash存取键值对的值

# List (列表)

与 Java 中的列表类似,按插入顺序对元素排序。你可以向列表的头部和尾部添加元素。

通过命令lpush、rpush向列表的头部和尾部添加元素

通过命令rpop、lpop从列表取出元素

通过命令lrange 向列表批量获取元素

列表最多可以存储231个元素

# Set(集合)

Redis 的 Set 是 string 类型的无序集合。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

sadd 命令

添加一个 string 元素到 key 对应的 set 集合中,成功返回 1,如果元素已经在集合中返回 0。

# zset(sorted set:有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。

zadd 命令

添加元素到集合,元素在集合中存在则更新对应score