12.Redis常用的数据类型有哪些?
基本类型有五类,分别是String
、List
、Hash
、Set
、ZSet
。其它类型:bitmap
(存放0、1数组)、HyperLogLog
(基数统计、去重计数)。
13.String数据类型了解吗?
Redis中的String 数据类型采用的是SDS
简单动态字符串,SDS可以避免缓冲区溢出,在修改字符串的时候会先判断len
属性,检查空间大小是否满足,如果不满足就会动态扩充。SDS获取字符串长度的时间复杂度是O(1),直接获取len属性的值即可。String可以存储各种类型的数据,比如:整数、字符串、浮点数和图片等。
14.String还是Hash存储对象数据比较好?
String存储的是整个对象的数据
,操作简单直接。Hash
存储的是对象中的各个字段
,方便获取和修改字段信息。如果对象中某些字段经常变化或查询,使用Hash存储很适合。同时Hash比String更节省空间,特别是字段较多且长度较短时。
15.List的应用场景是什么?
List可以实现消息队列,Redis中提供了BLPOP
和BRPOP
阻塞式读取命令,并且还提供了超时参数。如果List为空,Redis服务器会等List中有新数据或者等待超时之后返回。如果将超时参数设置为0的话就会无限等待。
16.Set的应用场景是什么?
Set是一种无序集合
,用在不能重复的场景。比如点赞
等。
17. Zset的应用场景是什么?
Zset是有序集合
,经常用在各种排行榜
中。