Redis五种数据类型

     发布时间:2022-01-15 00:10:14

Redis五种数据类型

Redis string(字符串)

string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个键最大能存储512MB。
语法:

//设置Key值
> set key value
OK

//获取Key对应的值
> get key
"value"

Redis hash(哈希)

Redis hash 是一个键值对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
语法:

//插入一条记录
> hmset key name "张三" age 18 gender "男"
OK

//查询出这个记录
> hgetall key
1) "name"
2) "张三"
3) "age"
4) "18"
5) "gender"
6) "男"

Redis list(列表)

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
语法:

//从左边开始插入两个元素
> lpush key 1 2
(integer) 2

//查询出当前列表的全部元素
> lrange key 0 -1
1) "2"
2) "1"

//从左边开始插入两个元素
> lpush key 3 4
(integer) 4

//查询出当前列表的全部元素
> lrange key 0 -1
1) "4"
2) "3"
3) "2"
4) "1"

//从右边开始插入两个元素
> rpush key 5 6
(integer) 6

//查询出当前列表的全部元素
> lrange key 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
5) "5"
6) "6"

//从右边开始插入两个元素
> rpush key 7 8
(integer) 8

//查询出当前列表的全部元素
> lrange key 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
5) "5"
6) "6"
7) "7"
8) "8"

Redis set(无序集合)

Redis的Set是string类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
语法:

//插入元素 返回插入成功1条
> sadd key 1
(integer) 1

//插入元素 返回插入成功1条
> sadd key 2
(integer) 1

//插入元素 返回插入成功1条
> sadd key 3
(integer) 1

//插入元素 返回插入成功0条
> sadd key 3
(integer) 0

//查询集合元素
> smembers key
1) "1"
2) "2"
3) "3"

Redis zset(有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
语法:

//插入元素,并设置排序分数为:1
> zadd key 1 "张三"
(integer) 1

//插入元素,并设置排序分数为:3
> zadd key 3 "王五"
(integer) 1

//插入元素,并设置排序分数为:2
> zadd key 2 "李四"
(integer) 1

//查询整个有序集成员
> zrange key 0 -1 withscores
1) "张三"
2) 1.0
3) "李四"
4) 2.0
5) "王五"
6) 3.0