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

命令查询传送门

一,string类型

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

命令 执行效果 时间复杂度
set key value [key value...] 设置 key 的值是 value O(k), k 是键个数
get key 获取 key 的值 O(1)
del key [key ...] 删除指定的 key O(k), k 是键个数
mset key value [key value ...] 批量设置指定的 key 和 value O(k), k 是键个数
mget key [key ...] 批量获取 key 的值 O(k), k 是键个数
incr key 指定的 key 的值 +1 O(1)
decr key 指定的 key 的值 -1 O(1)
incrby key n 指定的 key 的值 +n O(1)
decrby key n 指定的 key 的值 -n O(1)
incrbyfloat key n 指定的 key 的值 +n O(1)
append key value 指定的 key 的值追加 value O(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 ...] 删除 field O(k), k 是 field 个数
hlen key 计算 field 个数 O(1)
hgetall key 获取所有的 field-value O(k), k 是 field 个数
hmget field [field ...] 批量获取 field-value O(k), k 是 field 个数
hmset field value [field value ...] 批量获取 field-value O(k), k 是 field 个数
hexists key field 判断 field 是否存在 O(1)
hkeys key 获取所有的 field O(k), k 是 field 个数
hvals key 获取所有的 value O(k), k 是 field 个数
hsetnx key field value 设置值,但必须在 field 不存在时才能设置成功 O(1)
hincrby key field n 对应 field-value +n O(1)
hincrbyfloat key field n 对应 field-value +n O(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 value O(n),n 是 pivot 距离头尾的距离
查找 lrange key start end O(s+n),s 是 start 偏移量,n 是 start 到 end 的范围
lindex key index O(n),n 是索引的偏移量
llen key O(1)
删除 lpop key O(1)
rpop key
lremkey count value O(k),k 是元素个数
ltrim key start end
修改 set key index value O(n),n 是索引的偏移量
阻塞操作 blpop brpop O(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 ...] 删除指定的member O(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 是⽬标 集合元素个数

你可能感兴趣的:(redis,数据库,缓存)