中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

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

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

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

當(dāng)前題目:一些你經(jīng)常會(huì)用到的redis命令
當(dāng)前網(wǎng)址:http://www.rwnh.cn/news/105132.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司網(wǎng)站設(shè)計(jì)、用戶體驗(yàn)網(wǎng)站維護(hù)、網(wǎng)站制作、面包屑導(dǎo)航

廣告

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

仁化县| 桃江县| 信阳市| 上高县| 乳山市| 屏南县| 松江区| 龙胜| 齐齐哈尔市| 红河县| 奉节县| 巴东县| 京山县| 离岛区| 同德县| 瑞安市| 鄂州市| 乌鲁木齐市| 乌兰浩特市| 屏山县| 罗定市| 乌苏市| 龙门县| 岐山县| 夏津县| 富裕县| 大方县| 蓝田县| 贡嘎县| 交城县| 收藏| 如皋市| 苗栗县| 胶南市| 元谋县| 彭阳县| 抚松县| 额济纳旗| 望谟县| 馆陶县| 惠州市|