redis的list、set、hash、sorted set类型

List

Redis的列表(List)数据类型可以被看作简单的字符串列表。列表按照插入顺序排序。在操作Redis的列表时,可以将一个元素插入这个列表的头部或尾部。一个列表大约可以存储2*32-1个元素。

#从左向右将多个值插入列表中
LPUSH key value value ...
#从左向右将多个值插入列表中
RPUSH key value value ...
#查看列表里面所有的值(正向索引最开头是0,反向索引最开头是-1)
LRANGE key 0 -1
#根据下标(index)取出列表中的值
LINDEX key index
#更具下标更新里面一个值
LSET key index value
#从左到右移除某个元素 count(移除的元素个数,如果为负数则移除位置相反) value(要移除的元素)
LREM key count value
#在value后面插入一个元素value1
LINSERT key after value value1
#在value前面插入一个元素value1
LINSERT key before value value1
#将值插入列表头部
LPUSHX key value
#将值插入列表尾部
RPUSHX key value
#统计列表长度
LLEN key
#返回并删除列表的头元素
LPOP key
#返回并删除列表的尾元素
RPOP key
#在指定时间内删除列表的头元素
BLPOP key timeout
#在指定时间内删除列表的尾元素
BRPOP key timeout
#在指定区间内修改列表
LTRIM key start stop
#将列表尾元素移动到另一张表中
RPOPLPUSH key1 key2
#在指定时间内移动列表元素到另一张表
BRPOPLPUSH key1 key2 timeout

Hash

Redis的Hash类型是一个String类型的域(field)和值(value)的映射表,Hash数值类型常常用来存储对象信息。在Redis中,每个哈希表可以存储2*32-1个键值对也就是40多亿个数据。

#设置哈希表域的值
HSET key field value
#获取哈希表域的值
HGET key field
#为哈希表不存在的域设值
HSETNX key field value
#设置多个值
HMSET key field1 value1 field2 values
#获取多个值
HMGET key field1 field2
#查看hash表头
HKEYS key
#查看所有value值
HVALS key
#获取哈希表里面的所有数据
HGETALL key
#把值加上一个num
HINCRBYFLOAT key field num
#把值减去一个num
HINCRBYFLOAT key field -num
#统计哈希表中域的数量
HLEN key
#统计域的值的字符串长度
HSTRLEN key field
#删除哈希表中的多个域
HDEL key field
#判断哈希表中的域是否存在
HEXISTS key field

Set

Redis的数据类型集合(Set)是String类型的无序集合。集合无序且不存在重复的元素,每个元素都是唯一的。集合是通过哈希表来实现的,所以使用集合进行增加、删除、查询操作时的效率特别高,复杂度为O(1)。一个集合所能存储的最大容量为2*32-1个元素。

#添加多个元素到集合中
SADD key member...
#移动集合元素到另一个集合
SMOVE source destination member
#求出两个数的交集,显示在客户端上
SINTER key1 key2
#求出两个数的交集,结果返回给目标(dest),不显示在客户端上
SINTERSTORTE dest key1 key2
#求出两个数的并集,显示在客户端上
SUNION key1 key2
#求出两个数的并集,结果返回给目标(dest),不显示在客户端上
SUNIONSTORTE dest key1 key2
#求出两个数的差集,显示在客户端上
SDIFF key1 key2
#判断某个元素是否在集合中
SISMEMBER key number
#获取集合中的所有元素
SMEMBERS key
#删除集合中的元素
SPOP key 
#获取集合中元素的数量
SCARD key
#删除集合中的多个元素
SREM key member
#随机事件
#count如果为正数:取出一个去重的结果集(不能超过已有集)
#count如果为负数:取出一个带重复的结果集,一定满足你的数量
#count如果为0:不返回
SRANDMEMBER key count

Sorted Set

Redis的数据类型有序集合(Sorted Set)也是String类型的集合。有序集合中不存在重复的元素,每个复合元素都有对应double类型的分数。Redis就是通过这个元素对应的分数来为集合元素进行从小到大的排序。集合中的元素是唯一的,但是集合元素对应的分数值不唯一,可以重复。

有序列表采用哈希表来实现,当面对增加,删除,擦讯操作时,效率特别高,复杂度为O(1)。有序列表中所能存储的最大元素数量是2*32-1个。

#添加多个元素到有序集合中
ZADD key sorce member ...
#获取指定区间的元素(升序)
ZRANGE key start stop
#获取指定区间的元素并显示元素对应的score值
ZRANGE key start stop withscores
#获取指定分数区间内的数据
ZRANGEBYSCORE key min max
#获取在指定区间内的元素(降序)
ZREVRANGE key start stop 
#获取元素分值
ZSCORE key value
#获取有序集合元素排名
ZRANK key value
#为分数值加上增量
ZINCRBY key increment member
#获取有序集合中的元素数量
ZCARD key
#获取在分数区间内的元素数量
ZCOUNT key min max
#获取在指定区间内的元素数量
ZLEXCOUNT key min max
#获取集合在指定范围内的元素
ZRANGEBYLEX key min max
#获取有序集合元素的倒序排名
ZREVRANK key member
#保存多个有序集合的交集
ZINTERSTORE destination numkeys key [key...] [WEIGHTS weight [weight...]] [AGGREGATE SUM|MIN|MAX]
#保存多个有序集合的并集
ZUNIONSTORE destination numkeys key [key...] [WEIGHTS weight [weight...]] [AGGREGATE SUM|MIN|MAX]
#删除有序集合中的多个元素
ZREM key member
#删除有序集合在指定区间内的元素
ZREMRANGEBYLEX key min max
#删除有序集合在指定排名区间内的元素
ZREMRANGEBYRANK key start stop
#删除有序集合在指定分数区间内的元素
ZREMRANGEBYSCORE key min max
posted @ 2020-10-04 16:08  striver-sc  阅读(191)  评论(0编辑  收藏  举报