目录
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、ZSetStringHash List Set ZSet 的全部内容,更多相关Redis五大数据类型String、Hash、List、Set、ZSetStringHash List Set ZSet 内容请搜索靠谱客的其他文章。
发表评论 取消回复