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 是⽬标 集合元素个数 |
