Redis基本数据类型
注意:Redis中key的类型始终都是string,而value的数据类型才需要加以区分
这篇博客主要是简单的介绍一下Redis中存在的数据类型,后续的文章会给写具体的细节
string
使用key作为唯一字符串来获取对应的value,redis中的string是动态字符串,是可以修改的,分配给字符串内存的时候,会额外分配一部分内存,防止频繁分配,当字符串小于1MB的时候,每次扩容字符串都是翻倍增加,当字符串大于1MB的时候,每次扩容,都只会增加1MB,比如当前一个字符串是hello,分配了8个存储空间,现在hello增加成了hello,world,原有的8个空间不够用了,现在扩容就到了16个空间,注意,字符串最大长度是512MB
常用命令 | 说明 |
---|---|
get key | 获取字符串 |
set key v | 设置key对应的字符串 |
exists key | 判断是否存在key |
del key | 删除key和对应的value |
mget key1 key2 | 批量获取 |
mset key1 v1 key2 v2 | 批量设置 |
expire key 5 | 设置key的过期时间为5秒 |
setex key time v | 设置key的同时设置过期时间 |
setnx key | 如果key不存在就设置 |
incr key | 当value是一个整数的时候,可以使用该操作,注意使用范围!有符号的long类型能表示的最大值 |
list
Redis中的list 就是一个双向链表,并不是Java中的ArrayList,查找的时间复杂度是O(n)ÿ