Redis之数据类型

Redis数据类型详解

在面试中会经常问到,你说说redis中有几种数据类型,分别解释一下,这里总结一下,在redis中都有哪几种数据类型,每种类型的用法,在redis中有五种数据类型,分别为string、hash、list、set、zset

Redis的五种数据类型

数据类型说明
String是Redis中最基本的数据类型,二进制安全的,它可以包含任意数据类型。如图片。Redis中String类型的数据上限的512M
Hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)
ListRedis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。
setSet 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
ZSet有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

Redis是一个非关系型数据库 ,所以它都是以key/value键值对的形式存储,上面说的五种数据类型就是key/value中的value类型,key都是Sring类型的

在说数据类型之前总结一些通用的命令,因为上面五种数据类型结构有所不同,那么它们的命令也会有所不同,但仍有一些通用的命令

常用的通用命令

在redis中,默认给我们提供了16个数据库,编号从0到15,我们默认进入的是0号数据库,我们先设置一个key/value值,来看看
在这里插入图片描述
默认存储在0号数据库中,我们可以切换,用select,在redis中命令是不区分大小写的,但是存储的数据时区分大小写的,比如,set Name zhangsan 和set name zhangsan就是不一样的

select

在这里插入图片描述
在切换到1号数据库中之后,再次获取name属性值,是为null的,这也解释了我们之前存的数据是在0号库的

del

删除命令,指定key值,可以跟多个key值,进行删除
在这里插入图片描述
这里切回到0号数据库

删除成功提示并返回记录数,删除了几条数据
在这里插入图片描述

dump

序列化给定的key值,并返回被序列化的值
在这里插入图片描述
key如果不存在则返回null
在这里插入图片描述

exists

判断指定的key是否存在,1表示存在,0表示不存在
在这里插入图片描述

expire

给指定的key设置有效时间,单位为秒
在这里插入图片描述

ttl

查看指定的key的有效时间
在这里插入图片描述
-2表示key不存在了
在这里插入图片描述
再次查询为null
在这里插入图片描述

pexpire

也是设置有效时间,只不过单位是毫秒

在这里插入图片描述

pttl

查看有效时间,返回的是毫秒为单位,毫秒单位很快,不容易察觉到,设置的key就过期了
在这里插入图片描述

keys

查看所有的key值
在这里插入图片描述

randomkey

从数据库中随机返回一个key
在这里插入图片描述

type

查看指定key的类型
在这里插入图片描述

rename

修改指定key的名称
在这里插入图片描述

flushdb

清空当前数据库
在这里插入图片描述

flushall

清空所有的数据库,但不建议这么做
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值