一些你經(jīng)常會用到的redis命令

2021-03-13    分類: 網(wǎng)站建設(shè)

今天小編為大家整理了一些,在dos環(huán)境中經(jīng)常會使用到的redis命令,希望對你有所幫助。
redis命令
    keys 命令
        ?    匹配一個字符
        *    匹配任意個(包括0個)字符
        []    匹配括號間的任一個字符,可以使用 "-" 符號表示一個范圍,如 a[b-d] 可以匹配 "ab","ac","ad"
        \x    匹配字符x,用于轉(zhuǎn)義符號,如果要匹配 "?" 就需要使用 \?
    判斷一個鍵值是否存在
        exists key
        如果存在,返回整數(shù)類型 1 ,否則返回 0
    刪除鍵
        del key [key.....]
        可以刪除一個或多個鍵,返回值是刪除的鍵的個數(shù)
        注意:不支持通配符刪除
    獲得鍵值的數(shù)據(jù)類型
        type key
        返回值可能是 string(字符串類型) hash(散列類型) list(列表類型) set(集合類型) zset(有序集合類型)
    賦值與取值
        set key value       賦值
        get key                取值
 
    遞增數(shù)字
        incr key
        當(dāng)存儲的字符串是整數(shù)形式時,redis提供了一個使用的命令 incr 作用是讓當(dāng)前的鍵值遞增,并返回遞增后的值
        incr num
        當(dāng)要操作的鍵不存在時會默認(rèn)鍵值為 0  ,所以第一次遞增后的結(jié)果是 1 ,當(dāng)鍵值不是整數(shù)時 redis會提示錯誤
    增加指定的整數(shù)
        incrby key increment
        incrby 命令與 incr 命令基本一樣,只不過前者可以通過 increment 參數(shù)指定一次增加的數(shù)值如:
            incrby num 2
            incrby num 3
    減少指定的整數(shù)
        decr key
        decrby key increment
        desc 命令與incr 命令用法相同,只不過是讓鍵值遞減
        decrby 命令與 incrby命令用法相同
    增加指定浮點數(shù)
        incrbyfloat key increment
        incrbyfloat 命令類似 incrby 命令,差別是前者可以遞增一個雙精度浮點數(shù),如:
        incrbyfloat num 2.7
        注意: ( 受reids 版本限制,版本需要大于 2.6 版本)
    向尾部追加值
        append key value
        作用是向鍵值的末尾追加 value ,如果鍵不存在則將改鍵的值設(shè)置為 value,即相當(dāng)于 set key value。返回值是追加后字符串的長度
        如:append foo " hello word!"
    獲取字符串長度
        strlen key
        返回鍵值的長度,如果鍵不存在則返回0
    同時 獲得/設(shè)置 多個鍵值
        mget key [key.....]
        mset key value [key value .......]
    位操作
        getbit key offset
        setbit key offset value
        bitcount key [strart] [end]
        bitop operation destkey key [key .....]
        一個字節(jié)由8個二進(jìn)制位組成,redis 提供了4個命令直接對二進(jìn)制位進(jìn)行操作
        getbit 命令可以獲得一個字符串類型鍵指定位置的二進(jìn)制位的值(0 或 1),索引從 0 開始,如果需要獲取的二進(jìn)制位的索引超出了鍵值
            的二進(jìn)制位的實際長度則默認(rèn)位值是 0
        setbit 命令可以設(shè)置字符串類型鍵指定位置的二進(jìn)制位的值,返回值是該位置的舊值,如果需要設(shè)置的位置超過了鍵值的二進(jìn)制位的長
            度,setbit 命令會自動將中間的二進(jìn)制位設(shè)置為0,同理設(shè)置一個不存在的鍵的指定二進(jìn)制位的值會自動將其前面的位賦值為 0
        bitcount 命令可以獲得字符串類型鍵中值是1的二進(jìn)制位個數(shù),可以通過參數(shù)來限制統(tǒng)計的字節(jié)范圍,如我們希望統(tǒng)計前兩個字節(jié)(即
            "aa")  命令:bitcount foo 0 1    注意: ( 受reids 版本限制,版本需要大于 2.6 版本)
        bittop 命令可以對多個字符串類型鍵進(jìn)行位運算,并將結(jié)果存儲在destkey參數(shù)指定的鍵中。該命令支持的運算操作有 AND、 OR、
            XOR、 NOT,
            如我們對bar 和 aar 進(jìn)行 OR 運算操作:
            set foo1 bar
            set foo2 aar
            bitop OR res foo1 foo2
            get res
            注: ( 受reids 版本限制,版本需要大于 2.6 版本)
     
     
    散列類型
   
    賦值與取值
        hset key field value
        hget key field
        hmset key field value [ field value ...... ]
        hmget key field [ field ...... ]
        hgetall key
        hset 命令用來給字段賦值,而hget命令用來獲得字段的值
        hset 命令的方便之處在于不區(qū)分插入和更新操作,這意味著修改數(shù)據(jù)時不用事先判斷字段是否存在來決定要執(zhí)行的是插入操作還是更新操
            作,當(dāng)執(zhí)行的是插入操作時, hset 命令返回 1 ,當(dāng)執(zhí)行的是更新操作時,hset 命令返回的是 0 ,當(dāng)鍵本身不存在時, hset 命令還會
            自動建立他
        hmset 設(shè)置多個鍵值
        hmget 獲得多個鍵值
        hgetall 獲取鍵中所有字段和字段值卻不知道鍵中有哪些字段時使用,返回的結(jié)果是字段和字段值組成的列表
    判斷字段是否存在
        hexists key field
        存在返回 1 ,否則返回 0
 
    當(dāng)字段不存在時賦值
        hsetnx key field value
        hsetnx 命令與hset 命令類似,區(qū)別在于如果字段已經(jīng)存在,hsetnx 命令將不執(zhí)行任何操作
     
    增加數(shù)字
        hincrby key field increment
        使字段值增加指定的整數(shù)
    刪除字段
        hdel key field [ field .....]
        刪除一個或多個字段,返回值是被刪除的字段個數(shù)
    只獲取字段名或字段值
        hkeys key
        hvals key
        hkeys 獲取所有字段的名字
        hvals 獲得鍵中所有字段的值
    獲得字段數(shù)量
        hlen key
列表類型
 
    向列表兩端增加元素
        lpush key value [ value ....... ]
        rpush key value [ value ....... ]
        lpush 命令用來向列表左邊增加元素,返回表示增加元素后列表的長度
        rpush 命令用來向列表右邊增加元素,返回表示增加元素后列表的長度
     
    從列表兩端彈出元素
        lpop key
        rpop key
        lpop 命令可以從列表左邊彈出一個元素,lpop 命令執(zhí)行兩步操作,1:將列表左邊的元素從列表中移除,2:返回被移除元素值
        rpop 命令可以從列表右邊彈出一個元素
    獲取列表中元素個數(shù)
        llen key
        當(dāng)鍵不存在時,llen 返回 0
    獲得列表片段
        lrange key start stop
        獲得列表中的某一片段,返回索引從 start 到 stop 之間的所有元素(包括兩端的元素) 索引開始為 0
        注:lrange 與很多語言中用來截取數(shù)組片段的方法有一點區(qū)別是 lrange 返回的值包含最右邊的元素
               lrange 命令也支持負(fù)索引,表是從右邊開始計算序數(shù),如 ' -1 ' 表示最右邊第一個元素, ' -2 ' 表示最右邊第二個元素,一次類推
    刪除列表中指定的值
        lrem key count value
        lrem 命令會刪除列表中前 count 個值為 value 的元素,返回值是實際刪除的元素個數(shù)。根據(jù)count 值的不同,lrem 命令執(zhí)行的方式會
            略有差異
            當(dāng) count > 0 時,lrem 命令會從列表左邊開始刪除前 count 個值為 value 的元素
            當(dāng) count < 0 時,lrem 命令會從列表右邊開始刪除前count 個值為 value 的元素
            當(dāng) count = 0 時,lrem 命令會刪除所有值為value的元素
    獲得 / 設(shè)置 指定索引的元素值
        lindex key index
        lset key index value
        lindex 命令用來返回指定索引的元素,索引從 0 開始 ,如果 index 是負(fù)數(shù)則表示從右邊開始計算的索引,最右邊元素的索引是 -1
        lset 是通過索引操作列表的命令,它會將索引為 index 的元素賦值為 value
    只保留列表指定片段
        ltrim key start end
        ltrim 命令可以刪除指定索引范圍之外的所有元素,其指定列表范圍的方法和 lrange 命令相同
        ltrim 命令常和 lpush 命令一起使用來限制列表中元素的數(shù)量,比如記錄日志時我們希望只保留最近的 100 條日志,則每次加入新元素時
            調(diào)用一次ltrim 命令即可;
    向列表中插入元素
        linsert key before | after pivot value
        linsert 命令首先會在列表中從左到右查找值為 pivot 的元素,然后根據(jù)第二個參數(shù)是 before 還是 after 來決定將 value 插入到該元素的
            前面還是后面,如果命令執(zhí)行成功,返回插入操作完成之后列表的長度。如果沒有找到 pivot 返回 -1 如果key 不存在或為空,返回 0
         
    將元素從一個列表轉(zhuǎn)到另一個列表R
        rpoplpush source destination
        rpoplpush 先執(zhí)行 rpop 命令在執(zhí)行 lpush 命令。rpoplpush 命令先會從source 列表類型鍵的右邊彈出一個元素,然后將其加入到 destination 列表類型鍵的左邊,并返回這個元素的值,整個過程是原子的
集合類型
    增加刪除命令
        sadd key member [ member .... ]
        srem key member [ member .... ]
        sadd 命令用來向集合中增加一個或多個元素,如果鍵不存在則會自動創(chuàng)建。因為在一個集合中不能有相同的元素,所以如果要加入的元
            素已經(jīng)存在與集合中就會忽略這個元素。返回值是成功加入的元素數(shù)量(忽略的元素不計算在內(nèi))
        srem 命令用來從集合中刪除一個或多個元素,并返回刪除成功的個數(shù)
    獲得集合中的所有元素
        smembers key
        返回集合中的所有元素
    判斷元素是否在集合中
        sismember key member
        判斷一個元素是否在集合中是一個時間復(fù)雜度為 0(1) 的操作,無論集合中有多少個元素, sismember 命令始終可以極快的返回結(jié)果。當(dāng)
            值存在時 sismember 命令返回 1 ,當(dāng)值不存在或者鍵不存在時返回 0
    集合間運算
        sdiff key [ key ...... ]
        sdiff 命令用來對多個集合執(zhí)行差集運算。集合 A 與集合 B 的差集表示為 A- B ,代表所有屬于 A 且不屬于 B 的元素構(gòu)成的集合,即
            A - B = { x| x∈A  且 x ∈/B }
            
        命令使用方法:
               sadd seta 1 2 3 4 6 7 8
                sadd setb 2 3 4
                sdiff seta setb
        該命令支持同時傳入多個鍵, 計算順序是先計算 seta 和 setb 在計算結(jié)果與 setc 的差集
                sadd setc 2 3 4
                sdiff seta setb setc
     
        sinter key [ key ..... ]
        該命令用來對多個集合執(zhí)行交集運算。集合 A 與集合 B 的交集表示為 A∩B,代表所有屬于 A 且屬于 B 的元素構(gòu)成的集合
            即 A∩B = { x| x∈A  且 x ∈B }
            
            命令使用方法:
                sinter seta setb
                該命令同樣支持同時傳入多個鍵
        sunion key [ key ...... ]
        該命令用來對多個集合執(zhí)行并集運算。集合 A 與集合 B的并集表示為 A∪B ,代表所有屬于A或所有屬于B的元素構(gòu)成的集合
            即  A∪B = { x| x∈A  或 x ∈B }
            
            命令使用方法:
                sunion seta setb
                該命令同樣支持同時傳入多個鍵
        獲得集合中元素的個數(shù)
            scard key
         
        進(jìn)行集合運算并將結(jié)果存儲
            sdiffstore destination key [ key ...... ]
            sinterstore destination key [ key ...... ]
            sunionstore destination key [ key ...... ]
            sdiffstore 命令和 sdiff 命令功能一樣,唯一的區(qū)別就是前者不會直接返回運算的結(jié)果,而是將結(jié)果存在 destination 鍵中
            sinterstore 這個命令類似于 sinter 命令,但它將結(jié)果保存到 destination 集合,而不是簡單地返回結(jié)果集。
            sunionstore 這個命令類似于 sunion 命令,但它將結(jié)果保存到 destination 集合,而不是簡單地返回結(jié)果集。
        隨機(jī)獲得集合中的元素
            srandmember key [ count ]
            該命令用來隨機(jī)從集合中獲取一個元素
            還可以傳遞 count 參數(shù)來一次隨機(jī)獲得多個元素,根據(jù) count 的正負(fù)不同,具體表現(xiàn)也不同
                當(dāng)count 為正數(shù)時,srandmember 會隨機(jī)獲取從集合里獲得 count 個不重復(fù)的元素。如果 count 的值大于集合中的元素個數(shù),則
                    srandmember 會返回集合中的全部元素
                當(dāng) count 為負(fù)數(shù)時,srandmember 會隨機(jī)從集合中獲得 |count| 個的元素,這些元素有可能相同
            注:當(dāng)傳遞count 參數(shù)時,在windows環(huán)境下提示命令參數(shù)錯誤
        從集合中彈出一個元素
            spop key
            由于集合類型的元素是無序的,所以 spop 命令會從集合中隨機(jī)選擇一個元素彈出,返回值為被移除的隨機(jī)元素,如果 key 不存在或者
                key 為空集時,返回 nil
有序集合類型(sorted set)
        增加元素
            zadd key score member [ score member ...... ]
            zadd 命令用來向有序集合中加入一個元素和該元素的分?jǐn)?shù),如果該元素已經(jīng)存在,則會用新的分?jǐn)?shù)替換原有的分?jǐn)?shù)。zadd命令的返回
                值是新加入到集合中的元素個數(shù)(不包含之前已經(jīng)存在的元素)
        獲得元素的分?jǐn)?shù)
            zscore key member
         
        獲得排名在某個范圍的元素列表
            zrange key start stop [ withscores ]
            zrevrange key start stop [ withscores ]
            zrange 命令會按照元素分?jǐn)?shù)從小到大的順序返回索引從 start 到 stop 之間的所有元素(包含兩端的元素)。zrange 命令和 lrange 命
                令十分相似,如索引都是從0開始,負(fù)數(shù)代表從后向前查找(-1 表示最后一個元素)。如果需要同時獲得元素的分?jǐn)?shù)的話,可以在
                 zrange 命令的尾部加上 widthscores 參數(shù)
            注:如果兩個元素的分?jǐn)?shù)相同,redis會按照字典順序(即 0<9<A<Z<a<z 這樣的順序)來進(jìn)行排列。如果元素的值是中文,則取決于
                   中文的編碼方式,如圖:
                    
            zrevrange 命令和 zrange 的唯一不同在于 zrevrange 是按照元素分?jǐn)?shù)從大到小的順序給定結(jié)果的
         
        獲得指定分?jǐn)?shù)范圍內(nèi)的元素
            zrangebyscore key min max [ withscores ] [ limit offs

網(wǎng)站名稱:一些你經(jīng)常會用到的redis命令
鏈接URL:http://www.muchs.cn/news32/105132.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)App設(shè)計、網(wǎng)站收錄、商城網(wǎng)站、動態(tài)網(wǎng)站、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化