首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
详细的说说Redis的数据类型
[问答题]
详细的说说Redis的数据类型
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(258)
分享
162个回答
添加回答
60
Roderickkk
redis中常用的五种数据结构:string、list、set、zset、hash。String结构底层是一个简单动态字符串,支持扩容,存储字符串。list存储线性有序且可重复的元素,底层数据结构可以是双向链表/压缩列表。set存储不可重复的元素,一般用于求交集、差集等,底层数据结构可以是hash和整数数组,zset存储的是有序不可重复的元素,zset为每个元素添加了一个score属性作为排序依据,底层数据结构可以是ziplist和跳表,hash类型存储的是键值对,底层数据结构是ziplist和hash。redis会在性能以及节省内存间考虑,选择最适合当前状态的底层数据结构实现
发表于 2022-04-15 12:32:47
回复(4)
11
拒绝无效加班的三文鱼很爱看电影
redis的数据类新包含:String、List、Set、Zset、hash等; 1、String常用的指令包括:set key value、get key(添加,获取key)、incre key、decre key(对key的值进行加减一),所以可应用于微信文章的阅读数或点赞; 2、List是一个双向链表,常用的指令包括:Lpush key value1、Rpush key value1、Lpop key、Rpop key、Lrange key 0 -1(获取所有的元素),所以可应用于微薄的粉丝列表或好友列表 3、Set是一个存储不重复元素的结构,常用的指令包括:sadd key value、srem key、srandom key number(随机取出几个元素),所以可应用于抽奖,通过sadd添加不同的用户,srandom key number选出中将用户;还有集合的运算:sdiff、sintern与sunio就是集合的差交并运算,所以可应用于QQ的共同好友 4、Zset是一个排了序的set,常用的指令zadd key score value,其中score就是排序的依据,所以可应用于排行榜,类似于微博热搜 5、hash,相当于java的hash结构,key为string,值还是一个hashmap结构常用指令为hset key field value,可用于存储用户数据,一个key代表一个用户,feild表示用户的各个属性,然后对应的value就是属性对应的值
发表于 2022-07-18 19:57:34
回复(1)
3
牛客409351723号
乐观锁:每次修改数据数据时默认不上锁,更新数据的时候都会检查一遍版本号是否一致,一致则修改,不一致就不修改。悲观锁,每次更新数据默认上锁,其他线程无法进入
编辑于 2022-07-22 11:10:46
回复(1)
3
别打小书包唉
Redis拥有五种基本数据类型和四种特殊的数据类型。 五种基本数据类型 1)String:String是Redis中最基本的数据类型,可以存储任何数据,包括二进制数据、序列化后的数据、JSON话的对象甚至是图片。 2)List:list是字符串列表,按照插入的顺序排序,元素可以重复,你可以添加一个元素到列表的头部或者尾部,底层是一个链表结构。 3)Set:set是一个无序不重复的集合。 4)Hash:hash是String类型的filed和value的集合,适合用于存储对象。 5)Zset:zset和set一样也是string类型元素的集合,且不允许重复的成员,但不同的是zset的每个元素都会关联一个分数,分数可以重复,Redis通过分数来为集合中的成员进行从小到大的排序。 四种特殊的数据类型 1)bitmap 2)hyperloglog 3)geo 4)stream
发表于 2022-07-03 19:25:44
回复(0)
2
袁佳鹏、
redis有五种数据类型,有String、List、set、zset、hash 其中String就是简单的key,value键值对类型、List更类似于一个双向链表这一块我是根据它的命令了解到,lpush是从左边存储数据,rpush是从右边存储数据,set是一个不可重复的元素,zset为没一个元素加了一个分值,hash由大key,小key,value组成
发表于 2022-08-16 09:43:33
回复(0)
2
林邵晨
string:key-value形式;hash:一个存储空间保存多个键值对信息,类似于存储对象;list:集合存储多个数据,底层由双向链表实现,数据又进入顺序;set:存储大量数据,查询方便,key不允许重复和nil;sort_set:通过字段对数据排序展示
发表于 2022-06-01 19:40:57
回复(0)
2
阐禅
redis有五种基本数据类型和三种特殊的常用数据类型。 基本数据类型: String:地城是一个动态字符串,支持扩容,存储字符串。 list:存储有序可以重复的元素,底层数据结构是双向链表/压缩链表。 hash:存储的是键值对,底层是ziplist和hash set:存储不可重复的元素,底层数据结构可以是hash和整数数组。 zset:存储的是有序的不可重复的元素,底层是ziplist和跳表。 特殊的数据类型: geo hyperloglog bitmap
发表于 2022-05-06 14:40:03
回复(0)
1
牛客518574570号
redis中常用的五种数据结构:string、list、set、zset、hash。String结构底层是一个简单动态字符串,支持扩容,存储字符串。list存储线性有序且可重复的元素,底层数据结构可以是双向链表/压缩列表。set存储不可重复的元素,一般用于求交集、差集等,底层数据结构可以是hash和整数数组,zset存储的是有序不可重复的元素,zset为每个元素添加了一个score属性作为排序依据,底层数据结构可以是ziplist和跳表,hash类型存储的是键值对,底层数据结构是ziplist和hash。redis会在性能以及节省内存间考虑,选择最适合当前状态的底层数据结构实现 list(有序可重)的底层数据结构是双向链表/压缩列表 set(不可重)=hash+整数数组, zset(有序不重)=ziplist+跳表 hash(存键值对)=ziplist+hash 跳表:skiplist,hashtable底层实现为字典 等号代表的是底层的数据结构 redis的数据类新包含:String、List、Set、Zset、hash等; 1、String常用的指令包括:set key value、get key(添加,获取key)、incre key、decre key(对key的值进行加减一),所以可应用于微信文章的阅读数或点赞; 2、List是一个双向链表,常用的指令包括:Lpush key value1、Rpush key value1、Lpop key、Rpop key、Lrange key 0 -1(获取所有的元素),所以可应用于微薄的粉丝列表或好友列表 3、Set是一个存储不重复元素的结构,常用的指令包括:sadd key value、srem key、srandom key number(随机取出几个元素),所以可应用于抽奖,通过sadd添加不同的用户,srandom key number选出中将用户;还有集合的运算:sdiff、sintern与sunio就是集合的差交并运算,所以可应用于QQ的共同好友 4、Zset是一个排了序的set,常用的指令zadd key score value,其中score就是排序的依据,所以可应用于排行榜,类似于微博热搜 5、hash,相当于java的hash结构,key为string,值还是一个hashmap结构常用指令为hset key field value,可用于存储用户数据,一个key代表一个用户,feild表示用户的各个属性,然后对应的value就是属性对应的值 Redis拥有五种基本数据类型和四种特殊的数据类型。 五种基本数据类型 1)String:String是Redis中最基本的数据类型,可以存储任何数据,包括二进制数据、序列化后的数据、JSON话的对象甚至是图片。 2)List:list是字符串列表,按照插入的顺序排序,元素可以重复,你可以添加一个元素到列表的头部或者尾部,底层是一个链表结构。 3)Set:set是一个无序不重复的集合。 4)Hash:hash是String类型的filed和value的集合,适合用于存储对象。 5)Zset:zset和set一样也是string类型元素的集合,且不允许重复的成员,但不同的是zset的每个元素都会关联一个分数,分数可以重复,Redis通过分数来为集合中的成员进行从小到大的排序。 四种特殊的数据类型 1)bitmap 2)hyperloglog 3)geo 4)stream redis有五种数据类型,有String、List、set、zset、hash 其中String就是简单的key,value键值对类型、List更类似于一个双向链表这一块我是根据它的命令了解到,lpush是从左边存储数据,rpush是从右边存储数据,set是一个不可重复的元素,zset为没一个元素加了一个分值,hash由大key,小key,value组成 乐观锁:每次修改数据数据时默认不上锁,更新数据的时候都会检查一遍版本号是否一致,一致则修改,不一致就不修改。悲观锁,每次更新数据默认上锁,其他线程无法进入 string:key-value形式;hash:一个存储空间保存多个键值对信息,类似于存储对象;list:集合存储多个数据,底层由双向链表实现,数据又进入顺序;set:存储大量数据,查询方便,key不允许重复和nil;sort_set:通过字段对数据排序展示 redis有五种基本数据类型和三种特殊的常用数据类型。 基本数据类型: String:地城是一个动态字符串,支持扩容,存储字符串。 list:存储有序可以重复的元素,底层数据结构是双向链表/压缩链表。 hash:存储的是键值对,底层是ziplist和hash set:存储不可重复的元素,底层数据结构可以是hash和整数数组。 zset:存储的是有序的不可重复的元素,底层是ziplist和跳表。 特殊的数据类型: geo hyperloglog bitmap 1、String;2、List;3、Set;4、Hash;5、Zset;String 可以存放字符串、数字、二进制;list有序可重复,set无需不可重复;Zset:有序不可重复 常见类型:string、list、set、zset和hash。string底层是一个简单动态字符串,支持扩容,可以存储字符串、数字和二进制数据。list底层是一个QuickList的一个结构是一个双向链表,每个节点的数据基于zipList(压缩列表)构成的,压缩列表可以节省系统资源,存储线性有序且可重复的元素。set底层intset、hashtable,intset实现为整数集合,当集合对象保存的所有元素都是整数值或者集合对象保存的元素数量不超过512个采用intset实现,是无序不可重复的,一个set最多可以存储2^32-1个元素。zset底层zipList:压缩列表、zskipList:跳表,当键值对数量少于128个或者每个元素的长度小于64字节采用zipList,是有序不可重复的,它通过给每个元素设置一个分数来作为排序的依据,一个zset最多可以存储2^32-1个元素。hash底层ziplist、hashtable,当哈希对象保存的所有键值对的键和值的字符串长度都小于64字节或者哈希对象保存的键值对数量小于512个采用ziplist,一个hash最多能存储2^32-1个元素。 Redis常用的数据类型主要有string、hash、list、set、zset。string底层是简单动态字符串,可以扩容,也有int编码,可以存储数字,他主要的场景是可以存储JSON字符串、像分布式锁、分布式ID,也可以配合incr来当做计数器或者文章、商品的浏览次数。hash底层压缩列表和haashtable,主要存储像key-value键值对的数据,和一些对象。list的底层是快表,可以存储的有序重复的元素,主要是当做栈或者队列来使用。set底层使用的是hashtable和整数数组,存储的是无序不能重复的元素,多个集合可以做交集并集差集一些运算,像朋友圈共同点赞,共同关注的人。zset底层使用的跳表和压缩列表,和集合一样,只不过他可以排序,主要做一些实时的排行榜。 Redis中的数据类型有,String、List、Set、ZSet、Hash。 redis有五种常用的数据模型:String、list、set、zset、hash string是底层是一个动态字符串,支持扩容,存储字符串 list是有序可重复的集合,底层数据结构是双向链表 set是无序不可重复的集合,底层数据结构是hash+数组 zset是有序不可重复的集合,底层数据结构是ziplist+跳表 hash存储键值对,底层数据结构是ziplist+hash string list set zset hash 有String,set ,list,map,zset1(有序) redis中常用的五种数据结构:string、list、set、zset、hash。 String结构底层是**一个简单动态字符串**,支持扩容,存储字符串。所以可应用于微信文章的阅读数或点赞 list存储**线性有序且可重复的元素**,底层数据结构可以是双向链表/压缩列表。微薄的粉丝列表或好友列表 set存**储不可重复的元素**,一般用于求交集、差集等,底层数据结构可以是hash和整数数组,所以可应用于抽奖,通过sadd添加不同的用户,srandom key number选出中将用户。还有集合的运算:sdiff、sintern与sunio就是集合的差交并运算,所以可应用于QQ的共同好友 zset存储的**是有序不可重复的元素**,zset为每个元素添加了一个score属性作为排序依据,底层数据结构可以是ziplist和跳表,所以可应用于排行榜,类似于微博热搜 hash类型存储的**是键值对**,底层数据结构是ziplist和hash。redis会在性能以及节省内存间考虑,选择最适合当前状态的底层数据结构实现 可用于存储用户数据,一个key代表一个用户,feild表示用户的各个属性,然后对应的value就是属性对应的值 string,hash,list,set,zset String list hash set zset Redis中常用的五种数据类型有String、List、Hash、Set、Zset。String存储字符串,数据结构底层是一个简单动态字符串,支持扩容串。List存储有序的字符串列表,可以当作栈、队列或数组使用,底层数据结构可以是quicklist(双向链表)。Hash存储键值对集合,底层数据结构是跳跃表(skiplist)和哈希表(hashtable)。Set存储无序不可重复的元素,底层数据结构是哈希表(HashTable)和整数集合(InSet)。Zset存储有序不可重复的元素,底层数据结构压缩列表(ziplist)/跳跃表(skiplist)和哈希表(HashTable) String:key-value的键值对集合 底层结构是一个简单的动态字符串 可存储任何数据 二进制数据,序列化对象,字符串等等 List:存储线性有序可重复的元素 底层结构是双向链表 Set:不可重复且无序的元素 drct字典Hash实现的 + 整数数组 Sorted-Set:有序、不可重复元素 压缩列表+跳表 Hash:键值对集合 适合存储对象 压缩列表+hash 五种数据类型:String List Set Hash Sorted-Set String:key-value的键值对集合 底层结构是一个简单的动态字符串 可存储任何数据 二进制数据,序列化对象,字符串等等 List:存储线性有序可重复的元素 底层结构是双向链表 Set:不可重复且无序的元素 drct字典Hash实现的 + 整数数组 Sorted-Set:有序、不可重复元素 压缩列表+跳表 Hash:键值对集合 适合存储对象 压缩列表+hash 基本数据类型有String、Hash、List、Set、有序集合、Bitmap。 redis有五种基本数据类型: String:String是redis最基本的数据类型,可以存入任何数据。 LIst:list是字符串列表,按照插入的顺序排序,元素可以重复,你可以添加一个元素到列表的头部或者末尾,底部是一个链表结构 set:set是无序不可重复的集合 Zset:Zset是有序不可重复的集合,每个元素都有一个分数与之关联,redis通过分数大小将元素按从小到大的顺序排序 hash:hash是String类型的file和value的集合,使用于存储对象 redis的数据类型包括 String hash set不可重复 list有序可重复的 zset有序不可重复五种类型 其中每个类型可以支持多个编码 Redis是一款基于C语言开发的开源数据库,数据是存储在内存中的,redis存储的是K-V键值对数据。
发表于 2025-05-16 17:48:41
回复(0)
1
大星星不见了
1、String;2、List;3、Set;4、Hash;5、Zset;String 可以存放字符串、数字、二进制;list有序可重复,set无需不可重复;Zset:有序不可重复
发表于 2023-03-23 16:37:43
回复(0)
1
岑溪123
常见类型:string、list、set、zset和hash。string底层是一个简单动态字符串,支持扩容,可以存储字符串、数字和二进制数据。list底层是一个QuickList的一个结构是一个双向链表,每个节点的数据基于zipList(压缩列表)构成的,压缩列表可以节省系统资源,存储线性有序且可重复的元素。set底层intset、hashtable,intset实现为整数集合,当集合对象保存的所有元素都是整数值或者集合对象保存的元素数量不超过512个采用intset实现,是无序不可重复的,一个set最多可以存储2^32-1个元素。zset底层zipList:压缩列表、zskipList:跳表,当键值对数量少于128个或者每个元素的长度小于64字节采用zipList,是有序不可重复的,它通过给每个元素设置一个分数来作为排序的依据,一个zset最多可以存储2^32-1个元素。hash底层ziplist、hashtable,当哈希对象保存的所有键值对的键和值的字符串长度都小于64字节或者哈希对象保存的键值对数量小于512个采用ziplist,一个hash最多能存储2^32-1个元素。
编辑于 2023-02-06 20:10:24
回复(0)
1
浪仙_
Redis常用的数据类型主要有string、hash、list、set、zset。string底层是简单动态字符串,可以扩容,也有int编码,可以存储数字,他主要的场景是可以存储JSON字符串、像分布式锁、分布式ID,也可以配合incr来当做计数器或者文章、商品的浏览次数。hash底层压缩列表和haashtable,主要存储像key-value键值对的数据,和一些对象。list的底层是快表,可以存储的有序重复的元素,主要是当做栈或者队列来使用。set底层使用的是hashtable和整数数组,存储的是无序不能重复的元素,多个集合可以做交集并集差集一些运算,像朋友圈共同点赞,共同关注的人。zset底层使用的跳表和压缩列表,和集合一样,只不过他可以排序,主要做一些实时的排行榜。
发表于 2022-12-19 19:03:29
回复(0)
1
梦崽
Redis中的数据类型有,String、List、Set、ZSet、Hash。
发表于 2022-11-14 15:58:21
回复(0)
1
小徐同学啊
redis有五种常用的数据模型:String、list、set、zset、hash string是底层是一个动态字符串,支持扩容,存储字符串 list是有序可重复的集合,底层数据结构是双向链表 set是无序不可重复的集合,底层数据结构是hash+数组 zset是有序不可重复的集合,底层数据结构是ziplist+跳表 hash存储键值对,底层数据结构是ziplist+hash
发表于 2022-11-08 15:35:51
回复(0)
1
加冰要半塘
string list set zset hash
发表于 2022-05-25 20:37:14
回复(0)
1
万里迢迢
有String,set ,list,map,zset1(有序)
发表于 2022-05-04 20:58:12
回复(0)
0
可见光
五大基本数据类型: String(传输文本、二进制数据等) Set(无序唯一集合) SortedSet(有序唯一集合) Hash(键值对) List(列表)
发表于 2025-12-26 09:28:13
回复(0)
0
整顿职场的奇亚籽很坚定
string,hash,list,set,sorted set,bitmap
发表于 2025-12-25 16:14:20
回复(0)
0
牛客948884860号
LIST STRING HASH SET ZSET
发表于 2025-12-23 14:34:25
回复(0)
0
rlllloot
数据类型有str,list,set,zset,hash,geo,bitmap,hyperloglog,steam
发表于 2025-12-09 19:12:40
回复(0)
0
我想有钱花
redis中常用的5种数据结构:string,list,set,zset,hash。String结构底层是一个简单动态字符串,支持扩容,存储字符串。list存储线性有序且可以重复的元素,底层数据结构可以是双向链表/压缩列表。set存储不可重复的元素,一般用于求交集,差集等。底层数据结构可以是hash和整数数组,zset存储的有序不重复的元素,zset为每个元素添加了一个score属性作为排序依据,底层数据结构是 ziplist和跳表,hash类型存储的是键值对,底层数据结构是ziplist和hash。redis会在性能以及节省内存中考虑选择最合适的当前状态底层数据结构实现。
发表于 2025-11-10 16:51:10
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
Redis
上传者:
real1993
难度:
162条回答
258收藏
3361浏览
热门推荐
相关试题
下面关于Redis中的操作命令,错...
Redis
评论
(4)
下面关于Redis的定义和特点,正...
Redis
评论
(3)
下面关于Redis 6.0版本中的...
Redis
评论
(2)
电路如图所示,RL为负载电阻, 则...
模拟电路
评论
(1)
下面选项中,哪些 Go 程序代码不...
Go
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题