目录
String
Hash
List
Set
ZSet
String
String类型是Redis最基本的数据类型一个键最大能存储512MB
set key value,set用于给key设定值,如果key已经有值了set会复写旧值
get key,用户获取指定key的值,如果key不存在返回nil,如果key存储的不是字符串类型,返回一个错误
setnx key value,只有key不存在时设置key的值
getrange key start end,用于获取指定key中的字符串的子字符串
strlen key,返回key所存储的字符串的长度
del key,删除key
incr key,将key中存储的数字值增加1,如果key不存在,那么key的值会被先初始化为0,然后加1
incrby key increment,将指定的key自增自定义值
decr key,将key中存储的数字值减1
decrby key decrement,将指定的key自减自定义值
Hash
Hash特别适合存储对象也就是我们的JavaBean,每个hash可以存储2^32 - 1个键值对,可以看成是一个key和value的map容器
hset key field value,为指定的key设定field/value
hmset key field value,同时可以设置多个,对应hash表中的key
hget key field value,获取存储在hash中中的值,根据field获取value
hmget key field value,获取当前key的多个field
hgetall key,获取该key对应的所有字段和值
type key,查看其类型
hkeys key,获取该hash表中所有字段
hlen key,获取hash表中字段的数量
hdel key field,删除一个或多个域(也就是我们数据库中的字段)
hsetnx key field value,只有字段field不存在时,设置hash域的值
hincrby key field increment,为hash表中指定域的整数值加上增量increment
hexists key field,查看hash表中指定的域是否存在
List
Redis中List列表是简单的字符串列表,按照插入顺序排序,可以添加一个元素到列表的头部或尾部,一个列表最多可以包含2^32 - 1个元素,其类似于Java中的LinkedList。
lpush key value1 [value2],将一个或多个值插入到列表的头部,从左侧添加
rpush key value1 [value2],将一个或多个值插入到列表的尾部,从右侧添加
lrange key start stop,遍历一个列表,从起始下标到中止下标,-1代表最后一个
llen key,获取列表的长度
lindex key index,通过索引获取列表元素的值
lpop key,从左删除列表的第一个元素,返回被删元素的值
rpop key,从右删除列表的第一个元素
blpop key timeout,移除并获取列表的第一个元素,如果列表中没有元素,会阻塞列表直到等待超时或者发现可弹出元素,单位是秒
brpop key timeout,移除并获取列表的最后一个元素,如果列表中没有元素,会阻塞列表直到等待超时或者发现可弹出元素
ltrim key start stop,对列表进行修剪,只保留指定区间的元素
lset key index value,通过索引设置指定元素的值
linsert key before | after privot value,在指定元素前或后插入值
rpoplpush source destination,将第一个列表中最后一个元素移除,并添加到第二个列表中第一个位置
rpoplpush source destination,也可以本列表的最后一个元素移动到第一个位置
Set
Redis的Set是String类型的无序集合,集合成员是唯一的,不能重复,底层是intset和hashtable两种数据结构,intset我们可以理解为数组,该数组是有序的,查找时通过二分,hashtable就是普通的哈希表
sadd key member,给指定集合添加值
scard key,获取集合的大小
smembers key,获取集合的所有值,无序的
sismember key member,判断member元素是否是集合key的成员
srandmember key [count],返回一个或多个随机set值,count可以不写默认返回一个
srem key member1 [member2],移除集合中一个或多个成员
spop key [count],随机移除count个元素,并返回这count个元素,不写默认为1
smove source destination member,将第一个集合中的元素移动到第二个集合
sdiff key [key...] ,第一个集合和第二个集合的差集,以第一个集合为准
sinter key [key...],集合的交集
sunion,并集
如果想把差集、并集或者是交集所得的结果放到一个集合,可以如下操作,这里演示并集的
ZSet
Redis中ZSet集合和普通集合一样,也是String类型元素的集合,也不能重复,不同的是每个元素都会关联一个float类型的分数,redis正是通过分数来为集合中的成员进行从小到大排序的,该分数是可以重复的
zadd key score member,添加一个或多个有序集合,该集合有一个分数,用来排序
zcard key,获取有序集合中的成员数
zrange key start stop,获取指定范围集合的值,默认从低到高
zcount key min max,获取指定范围分数的集合元素的个数
zrank key member,返回指定元素的下标
zrevrange key start stop,获取指定范围集合的值,从高到低
zrem key member [member...],移除集合中的指定的一个或多个元素
zremrangebyrank key start stop,移除有序集合中给定的排名区间的所有成员,默认是从低到高排名,第一名是0
zremrangebyscore key min max,移除有序集合中分数区间的成员
如果觉得《Redis五大数据类型String Hash List Set ZSet》对你有帮助,请点赞、收藏,并留下你的观点哦!