redis命令大全

redis數據結構

 string
 list 
 set
 sort set
 hash

redis命令大全

  1. 通用命令

    命令 功能 時間複雜度
    keys * 通過模式匹配獲得符合的key,容易阻塞redis線程,慎用 O(N)
    exists key 驗證key是否存在(0表示不存在,1表示存在) O(1)
    type key 查看value的類型 O(1)
    expire key 設置key的過期時間,單位爲s O(1)
    pexpire key 設置key的過期時間,單位爲ms O(1)
    expireat key 設置key在什麼時間過期,value爲未來時刻的一個時間戳,精確到m O(1)
    pexpireat key 設置key在什麼時間過期,value爲未來時刻的一個時間戳,精確到ms O(1)
    ttl key 查看key還有多久過期(-1表示永遠不過期),單位爲m O(1)
    pttl key 查看key還有多久過期(-1表示永遠不過期),單位爲ms O(1)
    del key 刪除key O(1)
  2. string

    常用命令:

    命令 功能 時間複雜度
    set key value 不管key是否存在,都設置key O(1)
    setnx key value 當key不存在的時候設置key O(1)
    setex key value seconds 設置key的同時設置過期時間,單位爲m O(1)
    set key value xx 當key存在的時候更新key O(1)
    get key 獲取key的value O(1)
    getset key value 獲取key的value的同時設置新的value O(1)
    incr key 當value爲整型時,每次遞增1 O(1)
    decr key 當value爲整形時,每次遞減1 O(1)

    高級命令:

    命令 功能 時間複雜度
    mset key value […key value] 一次設置多個key O(N)
    mget key […key] 一次獲取獲得value O(N)
    incrby key count 當value爲整形時,每次遞增count O(1)
    decrby key count 當value爲整形時,每次遞減count O(1)
    incrbyfloat key count 當value爲數值時,每次遞增count O(1)
    append key appstr 拼接字符串 O(1)
    strlen key 獲取字符串的長度 O(1)
    getrange key start end 獲取指定範圍的字符 O(1)
    setrange key offset str 在指定位置設置字符 O(1)
  3. list

    常用命令:

    命令 功能 時間複雜度
    lpush key value […value] 將一個或者多個值插入列表頭部 O(1)
    lpop key 從列表頭部彈出一個元素 O(1)
    rpush key value […value] 將一個或者多個值插入列表尾部 O(1)
    rpop key 從列表尾部彈出一個元素 O(1)
    blpop key 以阻塞模式從列表頭部彈出一個元素 O(1)
    brpop key 以阻塞模式從列表尾部彈出一個元素 O(1)
    lrem key count value 從列表中刪除count個value,count正負代表了方向 O(N)
    lrange key start end 取出從start到end的所有元素,start和end可以爲負 O(N)
    ltrim key start end 將start到end範圍之外的元素刪除 O(N)
    llen key 查看列表長度 O(1)

    高級命令:

    命令 功能 時間複雜度
    linsert key before/after oldvalue newvalue 在指定元素前/後插入元素 O(N)
    lindex key index 獲取指定位置元素 O(N)
    lset key oldvalue newvalue 將列表中指定元素替換 O(N)
  4. set

    常用命令:

    命令 功能 時間複雜度
    sadd key value […value] 向集合中添加元素 O(1)
    sismember key value 查看元素是否在集合中 O(1)
    smembers key 獲取集合所有元素,不改變集合內部結構 O(N)
    srandmember key count 從集合中隨機彈出一個元素,不改變集合內部結構 O(N)
    spop key 從集合中彈出一個元素,改變集合內部結構 O(N)
    srem key value 從集合中刪除指定元素 O(1)
    scard key 獲取集合長度 O(1)

    高級命令:

    命令 功能 時間複雜度
    sinter source1 source2 求兩個集合的交集 O(N)
    sinterstore source1 source2 dest 將兩個集合的交集存儲到目標集合 O(N)
    sdiff source1 source2 求source1-source2集合的差集 O(N)
    sdiff source1 source2 dest 將 source1-source2集合的差集存儲到目標集合 O(N)
    sunion source1 source2 將兩個集合的並集 O(N)
    sunion source1 source2 dest 將兩個集合的並集存儲到目標集合 O(N)
  5. sort set
    常用命令:

    命令 功能 時間複雜度
    zadd key score value [… score value] 向有序集合添加元素 O(M(logN))
    zscore key value 獲取指定元素的score O(1)
    zcard key 獲取元素數量 O(1)
    zrem key value […value] 刪除指定元素 O(1)
    zincrby key incrScore element 對指定元素加分數 O(1)
    zrange key start end [withscores] 獲取升序排序的第start到end的元素 O(log(N)+M)
    zrevrange key start end [withscores] 獲取降序排序的第start到end的元素 O(log(N)+M)
    zrangebyscore key minscore maxscore 獲取指定分數範圍內的元素 O(log(N)+M)
    zremrangebyscore key minscore maxscore 刪除指定分數範圍內的所有元素 O(log(N)+M)
    zcount key minscore maxscore 獲取指定範圍元素的數量 O(log(N)+M)
    zrank key value 獲取升序排序指定元素的排名 O(log(N))
    zrevrank key value 獲取降序排序指定元素的排名 O(log(N))
    zremrangebyrank key start end 根據排名刪除元素 O(log(N)+M)

    高級命令:

    命令 功能 時間複雜度
    zinterstore source1 source2 dest 將兩個集合的交集存儲到目標集合 O(log(N)+M)
    zunion source1 source2 dest 將兩個集合的並集存儲到目標集合 O(log(N)+M)
  6. hash

    常用命令:

    命令 功能 時間複雜度
    hset key field value 設置field和value O(1)
    hmset key field value […field value] 批量設置field和value O(1)
    hget key field 獲取value O(1)
    hmget key field […field] 批量獲取field O(1)
    hgetall key 獲取所有的field和value O(N)
    hkeys key 獲取所有的field O(N)
    hvals key 獲取所有的value O(N)
    hexists key field 判斷是否擁有field O(1)
    hincrby key field count 對field自增count O(1)
    hlen key 獲取key的field的數量 O(1)
    hdel key field 刪除指定的field O(1)

更多問題可以加公衆號:代碼小棧,期待爲您解決更多問題
代碼小棧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章