Redis之数据类型

Redis之数据类型

Redis不是一个简单的键值存储,它实际上是一个数据结构服务器,支持不同类型的值。这意味着,虽然在传统的键值存储中,您将字符串键与字符串值相关联,但在Redis中,该值不仅限于简单的字符串,还可以保存更复杂的数据结构

1.Keys

在介绍Redis数据类型之前,我们需要先了解一下Redis的键。

我们可以使用类似于"foo"这样的字符串作为key,甚至空字符串("")也是有效的key。但是,请注意,Redis的key也是需要遵循一定的规则的,下面我们来看看这些具体的规则。

  • 不建议key值的长度太大,一方面会占用较多的内存,另一方面会降低查询效率
  • 保持良好的key的可读性,例如mobile15512341234,可以替换为:mobile:15520825732。
  • key的最大值为512MB

2.Strings

Redis的Strings数据类型是可以与Redis键相关联的最简单的值类型。值可以是任意字符串,和我们前面提到的key的最大值一样,字符串值的最大值也为512MB

由于Redis键也是字符串,当我们也使用字符串作为值,就意味着将一个字符串映射到另一个字符串。

基本语法:

set k1 v1;
get k1;

3.Lists

Redis的Lists数据类型是通过链表来实现的。这意味着,即使一个列表中存在着数百万个元素,在列表的开头或结尾插入新的元素,所使用的时间也是相同的。同样的,列表中元素的个数并不会影响新元素的插入开头或结尾的速度。但是使用列表,我们的查询速度就不那么快了。

基本语法:

# 将元素插入到列表的头部

lpush list1 v1;
lpush list1 v2 v3;


可以看到列表中的数据是有序的,并且使用lpush最后插入的元素在列表的头部

4.Hashes

Hashes数据类型就和我们Java的HashMap类似,存在键值对。

基本用法:

hset hash1 k1 v1;
hset hash1 k2 v2;

5.Sets

Sets数据类型是字符串的无序不重复的集合。sadd命令可以向集合中添加新元素。

基本用法:

sadd set1 a c b d g e j f


我们可以看到,元素并没有按照我们的插入顺序排序。

6.Sorted sets

Sorted sets数据类型是字符串的有序不重复的集合。在Sorted sets数据中,有一个浮点类型的score值与元素进行关联。

排序规则:

  • 如果元素A的score大于元素B的score,则按照score值进行排序
  • 如果元素A和元素B的score值相等,则按照元素A和元素B的字典顺序排序

基本用法:

zadd sortset1 26 zhangsan;
zadd sortset1 18 lisi;
zadd sortset1 29 wangwu;


我们可以看到,元素的顺序是按照元素的score值来进行排序的。

以上就是Redis的数据类型的基本介绍,后续我们详细介绍各个数据类型的命令用法。

最后,欢迎关注微信公众号一起交流

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值