Redis中的五大基本数据类型
都以key value的形式进行存储
-
string类型
最基本的一种类型,其中value的值大小最多只能是512M
在linux系统中,可以通过set k v来添加
例如set name iqzn
get name来从中获取值
还可以通过mset/mget来设置多个或获取多个值
底层的数据结构为一种动态的字符串 -
list列表类型
该类型是一种双向链表的格式,查询慢,增删快
是一种单键多值的形式
可以通过lpush k v1 v2 v3来向其中存放多个值,但是注意这是从左边开始放,从右边开始放是rpush
通过lrange k来从中获取v的值,但是取出来的值是v3,v2,v1 这说明第一次从左边开始放v1放v2进来时会把v1向后挤一下v3进来类似,所以这个命令是从左边开始过去k中的值,右边同理使用rpop来拿值
底层的数据结构是quicklist,一种快速链表
但是这个在内存中存放时,会把少数个连续的存放在一起,叫做ziplist,将多个ziplist连接起来就是一个quicklist -
set类型,类似于list类型,但是里面不能够存在重复的value值
通过sadd命令来存放一个或者多个元素
smembers来取出所有值 -
hash哈希类型
这种类型是一个string类型field和value,特别适合存储对象,例如
key value
user field value
id 1
name 张三
age 20 -
zset类型,与set类型相似,例如可以使用在需要对一些数据进行排序时使用
底层数据结构是hash和跳跃表的格式