String類型
命令 | 時間複雜度 |
set | 0(1) |
get | 0(1) |
del | 0(k),k是鍵的個數 |
mset | 0(k),k是鍵的個數 |
mget | 0(k),k是鍵的個數 |
incr | 0(1) |
decr | 0(1) |
incryby | 0(1) |
decryby | 0(1) |
incrybyfloat | 0(1) |
append | 0(1) |
strlen | 0(1) |
setrange | 0(n),n爲更改字符串長度 |
getrange | 0(n),n爲獲取字符串長度 |
Hash類型
命令 | 時間複雜度 |
hset | 0(1) |
hget | 0(1) |
hdel | 0(k),k是鍵的個數 |
hlen | O(1) |
hgetall | 0(k),k是field的個數 |
hmget | 0(k),k是field的個數 |
hmset | 0(k),k是field的個數 |
hexists | O(1) |
hkeys | 0(k),k是field的個數 |
hvals | 0(k),k是field的個數 |
hsetnx | O(1) |
hincrby | O(1) |
hincrbyfloat | O(1) |
hstrlen | O(1) |
List列表
命令 | 時間複雜度 |
rpush | 0(k),k是field的個數 |
lpush | 0(k),k是field的個數 |
linsert | 0(n),n是插入位置距離表頭或表尾的距離 |
lrange | O(s+n),s是start的偏移量,n是start到end的範圍 |
lindex | O(n),n是索引的偏移量 |
llen | O(1) |
lpop | O(1) |
rpop | O(1) |
lrem | O(n),n是列表的長度 |
ltrim | O(n),n是要裁剪的元素總數 |
lset | O(n),n是索引的偏移量 |
blpop | O(1) |
Set集合
命令 | 時間複雜度 |
sadd | O(k),k爲元素個數 |
srem | O(k),k爲元素個數 |
scard | O(1) |
sismember | O(1) |
srandmember | O(count) |
spop | O(1) |
smembers | O(n),n爲元素總數 |
sinter | O(m*k),k爲多個集合中元素較少的個數,m是鍵個數 |
suinon | O(k),k爲多個集合元素個數和 |
sdiff | O(k),k爲多個集合元素個數和 |
Zset有序集合
命令 | 時間複雜度 |
zadd | O(k*log(n)),k爲添加 成員個數,n爲當前成員個數 |
zcard | O(1) |
zscore | O(1) |
zrank zrevrank |
O(log(n)),n爲當前成員個數 |
zrem | O(k*log(n)),k爲刪除成員個數,n爲當前成員個數 |
zincrby | O(log(n)),n爲當前成員個數 |
zrange zrevrange |
O(log(n)+k),k爲要獲取成員個數,n爲當前成員個數 |
zrangebyscore zrevrangebyscore |
O(log(n)+k),k爲要獲取成員個數,n爲當前成員個數 |
zcount | O(log(n)+k),k爲要獲取成員個數,n爲當前成員個數 |
zremrangebyrank | O(log(n)+k),k爲要刪除成員個數,n爲當前成員個數 |
zremrangebyscore | O(log(n)+k),k爲要刪除成員個數,n爲當前成員個數 |
zinterstore | O(n*k) + O(m*log(m)),n是成員數最小的有序集合的成員個數,k是有序集合的個數,m是結果集中成員個數 |
zunionstore | O(n) + O(m*log(m)),n是所有有序集合成員個數和,m是結果集中成員個數 |