Redis常用数据结构常用命令总览

admin2024-08-20  7

命令查询传送门

一,string类型

Redis远程字典服务器(4)—— string类型详解

命令执行效果时间复杂度
set key value [key value...]设置 key 的值是 valueO(k), k 是键个数
get key获取 key 的值O(1)
del key [key ...]删除指定的 keyO(k), k 是键个数
mset key value [key value ...]批量设置指定的 key 和 valueO(k), k 是键个数
mget key [key ...]批量获取 key 的值O(k), k 是键个数
incr key指定的 key 的值 +1O(1)
decr key指定的 key 的值 -1O(1)
incrby key n指定的 key 的值 +nO(1)
decrby key n指定的 key 的值 -nO(1)
incrbyfloat key n指定的 key 的值 +nO(1)
append key value指定的 key 的值追加 valueO(1)
strlen key获取指定 key 的值的⻓度O(1)
setrange key offset value覆盖指定 key 的从 offset 开始的部分值O(n),n 是字符 串⻓度, 通常视 为 O(1)
getrange key start end获取指定 key 的从 start 到 end 的部分值O(n),n 是字符 串⻓度, 通常视 为 O(1)

二,hash类型

Redis远程字典服务器(5) —— hash类型详解

命令执行效果时间复杂度
hset key field value设置值O(1)
hget key field获取值O(1)
hdel key field [field ...]删除 fieldO(k), k 是 field 个数
hlen key计算 field 个数O(1)
hgetall key获取所有的 field-valueO(k), k 是 field 个数
hmget field [field ...]批量获取 field-valueO(k), k 是 field 个数
hmset field value [field value ...]批量获取 field-valueO(k), k 是 field 个数
hexists key field判断 field 是否存在O(1)
hkeys key获取所有的 fieldO(k), k 是 field 个数
hvals key获取所有的 valueO(k), k 是 field 个数
hsetnx key field value设置值,但必须在 field 不存在时才能设置成功O(1)
hincrby key field n对应 field-value +nO(1)
hincrbyfloat key field n对应 field-value +nO(1)
hstrlen key field计算 value 的字符串⻓度O(1)

三,list类型

Redis远程字典服务器(6) —— list类型详解-CSDN博客

操作类型命令时间复杂度
添加rpush key value [value ...]O(k),k 是元素个数
lpush key value [value ...]
linsert key before | after pivot valueO(n),n 是 pivot 距离头尾的距离
查找lrange key start endO(s+n),s 是 start 偏移量,n 是 start 到 end 的范围
lindex key indexO(n),n 是索引的偏移量
llen keyO(1)
删除lpop keyO(1)
rpop key
lremkey count valueO(k),k 是元素个数
ltrim key start end
修改set key index valueO(n),n 是索引的偏移量
阻塞操作blpop brpopO(1)

 

四,set类型

Redis远程字典服务器(7)—— set类型详解

命令执行效果时间复杂度
sadd key element [element ...]添加O(k),k 是元素个数
srem key element [element ...]删除O(k),k 是元素个数
scard key返回set元素总数O(1)
sismember key element判断一个元素是否在set中O(1)
srandmember key [count]随机读取一个数O(n),n 是 count
spop key [count]随机删除一个或多个数O(n),n 是 count
smembers key获取set中的所有元素O(k),k 是元素个数
sinter key [key ...] sitnerstore求交集O(m * k),k 是⼏个集合中元素最⼩的个数,m 是键个数
sunion key [key ...] sunionstore求并集O(k),k 是多个集合的元素个数总和
sdiff key [key ...] sdiffstore求差集O(k),k 是多个集合的元素个数总和

五,zset类型

Redis远程字典服务器(8)—— zset类型详解-CSDN博客

命令执行效果时间复杂度
zadd key score member [score member ...]往集合中添加或修改元素和分数O(k * log(n)),k 是添加成员的个数,n 是当前有序集合的元 素个数
zcard key获取集合中的元素个数O(1)
zscore key member查询指定member的分数O(1)

zrank key member

zrevrank key membe

顺序或逆序获取member的排名O(log(n)),n 是当前有序集合的元素个数
zrem key member [member ...]删除指定的memberO(k * log(n)),k 是删除成员的个数,n 是当前有序集合的元 素个数
zincrby key increment member对指定member的score进行加法运算O(log(n)),n 是当前有序集合的元素个数

zrange key start end [withscores]

zrevrange key start end [withscores]

顺序或逆序查看指定的一对下标构成的区间的值O(k + log(n)),k 是获取成员的个数,n 是当前有序集合的元 素个数

zrangebyscore key min max [withscores]

zrevrangebyscore key max min [withscores]

按照分数顺序或逆序查看指定的一对下标构成的区间的值O(k + log(n)),k 是获取成员的个数,n 是当前有序集合的元 素个数
zcount找出score符合区间[min, max]的member的个数O(log(n)),n 是当前有序集合的元素个数
zremrangebyrank key start end下标范围删除O(k + log(n)),k 是获取成员的个数,n 是当前有序集合的元 素个数
zremrangebyscore key min max分数范围删除O(k + log(n)),k 是获取成员的个数,n 是当前有序集合的元 素个数
zinterstore destination numkeys key [key ...]求交集O(n * k) + O(m * log(m)),n 是输⼊的集合最⼩的元素个数, k 是集合个数, m 是⽬标集合元素个数
zunionstore destination numkeys key [key ...]求并集O(n) + O(m * log(m)),n 是输⼊集合总元素个数,m 是⽬标 集合元素个数
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!