<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    分享java帶來的快樂

    我喜歡java新東西

    Redis命令——字符串相關

    1.APPEND
    語法:APPEND key
    value
    說明:該操作的時間復雜度為O(1)。在假定被附加的值很少并且已經存在的值可以是任意大小的情況下,平均下來該操作的時間復雜度為O(1)。因為Redis所使用的動態字符串庫在每次重新分配空間時均會將可用空間加倍。
    該命令在key關聯的值已經存在并且是字符串類型的情況下,將會把指定的值附加到已有字符串的尾部。如果key并不存在,它將會被創建并且被設置為空串。因此,APPEND命令在這種情況下與SET命令類似。
    返回值:返回命令完成后字符串的長度。
    該命令自1.3.3版本后可用。

    2.DECR
    語法:DECR
    key
    說明:該操作的時間復雜度為O(1)。該命令將存儲在key上的數字值減1。如果該key不存在,在進行該操作前將會將其設置為O。如果與key相關聯的值具有錯誤的數據類型或者包含一個不能轉換為整數的字符串時,該操作將會出現錯誤。該操作只針對于64位有符號整數。與之相對應的命令為INCR。
    返回值:返回減1操作完成后的值。


    如果該key所包含的值的數據類型不符合要求,會返回如下錯誤信息:




    該命令自0.0.7版本后可用。

    3.DECRBY
    語法:DECRBY key
    decrement
    說明:該操作的時間復雜度為O(1)。將存儲在key上的值減去由decrement指定的數。如果該key不存在,在進行操作前會將其設置為0。如果與key相關聯的值具有錯誤的數據類型或者包含一個不能轉換為整數的字符串時,該操作將會出現錯誤。該操作只針對于64位有符號整數。
    返回值:返回減去指定值后的值。
    該命令自0.0.7版本后可用。

    4.GET
    語法:GET
    key
    說明:該操作的時間復雜度為O(1)。獲取存儲在key上的值。如果key并不存在,將會返回nil。如果存儲在key上的值的數據類型并非string類型,那么將會出現錯誤,因為GET僅僅處理string類型的值。


    返回值:存儲在key上的值,如果該key不存在,那么返回值為nil。


    如果該key上存儲的值的數據類型不符合要求,那么會返回如下出錯信息:




    該命令自0.0.7版本后可用。

    5.GETBIT
    語法:GETBIT key
    offset
    說明:該操作的時間復雜度為O(1)。返回存儲在key上的字符串在offset偏移處的所具有的位值。
    如果指定的偏移值超出了字符串的長度,后續字符串被視作由0填充的一片連續空間。如果指定的key不存在,那么將被視為一個空串,在這種情況下,偏移值總會超出范圍并且其值可以看作是由0填充的一片連續空間。
    返回值:返回在offset偏移處的位值。


    該命令的典型輸入如下所示:




    該命令自2.1.8版本后可用。



    6.GETRANGE
    語法:GETRANGE key start
    end
    說明:時間復雜度為O(N),此處N為需要返回的字符串的長度。時間復雜度最終由返回的長度決定,因為從已經存在的字符串中創建一個子串代價很低,可以認為對于較小的字符串而言時間復雜度為O(1)

    。需要注意的是:該命令被重新命名為GETRANGE,在Redis
    2.0版本之前,該命令被稱作SUBSTR。該命令返回存儲在key上的字符串的特定子串,子串的范圍有start和end兩個偏移值指定,并且均包含端點。在該命令中可以指定負的偏移值,此時偏移值從字符串尾部開始計算。因此,-1意味著最后一個字符,-2意味著倒數第二個字符。
    如果指定的偏移值超出了字符串固有的長度,那么命令將會限定結果的范圍為字符串的真實長度。
    返回值:返回取到的子串。
    該命令自1.3.4版本后可用。

    7.GETSET
    語法:GETSET
    key
    value
    說明:該操作的時間復雜度為O(1)。原子性地將key上存儲的值設置為value,并且返回原有的值。如果key存在但是所存儲的值并不是字符串類型,那么將會返回錯誤。


    返回值:返回存儲在key上的原有值,如果該key不存在,那么返回值為nil。


    該命令的典型輸出如下所示:




    該命令自0.091版本后可用。

    8.INCR
    語法:INCR
    key
    說明:該操作的時間復雜度為O(1)。將存儲在key上的值加1。如果該key不存在,在進行操作前會將其設置為0。如果與key相關聯的值具有錯誤的數據類型或者包含一個不能轉換為整型的字符串,那么將會返回一個錯誤。該操作只針對于64為有符號數。需要注意的是:這是一個字符串操作,因為Redis中并沒有一個專門的整型數據類型。存儲在key上的字符串被解析為一個十進制的64位有符號整型以便執行該操作。Redis中對整數將以他們的整型表示存儲,因此對于實際上表示一個整數的字符串值,依然會按照整形數據進行存儲。
    返回值:返回加1操作完成后的值。
    該命令自0.07版本后可用。

    9.INCRBY
    語法:INCRBY
    key
    increment
    說明:該操作的時間復雜度為O(1)。對存儲在key上的值加上increment指定的值。如果該key不存在,在執行該操作之前會先將其設置為0,然后再執行該操作。如果存儲在該key上的值具有錯誤的數據類型或包含一個不能轉換為整型的字符串值,那么將會返回一個錯誤。該操作只針對64位有符號整數。
    返回值:返回操作完成后的值。
    該命令自0.07版本后可用。

    10.MGET
    語法:MGET
    key [key
    ...]
    說明:該操作的時間復雜度為O(N),這里N表示將要取回的key的個數。返回存儲在指定keys上的值。對于每一個其值的數據類型不是字符串類型或者不存在的key,返回值將會為nil。因此,執行該操作并不會出現失敗的情況。
    返回值:存儲在指定keys上的值的列表。
    該命令自0.07版本后可用。

    11.MSET
    語法:MSET
    key value [key value
    ...]
    說明:該操作的時間復雜對為O(N),此處N為將要設置其值的key的個數。對指定的keys設置相應的值。與SET命令一樣,MSET將會使用新值替代原有的值,MSET操作是原子性的,因此所有指定的keys將會在一次操作過程中設置完成。
    返回值:返回值總為OK,因為MSET命令不會失敗。
    該命令自1.001版本后可用。

    12.MSETNX
    語法:MSETNX
    key value [key value
    ...]
    說明:該操作的時間復雜度為O(N),此處N為將要設置其值的keys的個數。將給定的keys設置為相應的值。如果指定的keys中任何一個已經存在,那么該操作將不會被執行。因此,MSETNX可以用來對唯一的邏輯對象中的表示不同字段的keys設置其值,以便能夠確保這些字段要么全部被成功設置要么均不會被設置。MSETNX操作是原子性的,因此所有的keys將會在一次操作過程中被設置。
    返回值:如果所有的keys的值均被設置,那么返回值為1;如果沒有key被設置其值,那么返回值為0。
    該命令自1.001版本后可用。

    13.SET
    語法:SET
    key
    value
    說明:該操作的時間復雜度為O(1)。對指定key設置一個字符串值。如果該key已經具有值,該值將會被重寫而不管它的數據類型。
    返回值:返回值總是OK,因為SET操作不會失敗。
    該命令自0.07版本后可用。

    14.SETBIT
    語法:SETBIT
    key offset
    value
    說明:該操作的時間復雜度為O(1)。設置或者清除存儲在key上的字符串在指定偏移處的位值。命令中的value可以指定為0或者1,根據value的不同,位值可以被設置或者被清除。當該key不存在時,將會創建一個新的字符串的值。字符串的長度可以增長以便能夠包含offset偏移處的值。命令中的offset的值需要大于或者等于0,但是需要小于232。這會將位圖(bitmaps)的大小限定在512MB以內。當存儲在該key上的字符串被擴展時,增加的位將會被設置為0。需要注意的是,當設置最后一個可能的位(偏移值等于232-1)并且存儲在該key上的字符串值還并沒包含字符串值或者包含長度較小的字符串值時,Redis需要重新分配中間內存,這可能會阻塞服務器一段時間。一旦第一次分配空間分配完成后,對相同keys后續的SETBIT調用將不再有空間分配的開銷。
    返回值:返回在offset偏移處的原有的位值。
    該命令自2.1.8版本后可用。

    15.SETEX
    語法:SETEX
    key seconds
    value
    說明:該操作的時間復雜度為O(1)。設置key上存儲的值為value,并且該key在給定的seconds秒后超時。該命令等同于如下的命令:


    SET mykey value
    EXPIRE mykey
    seconds
    SETEX操作是原子性的,并且可以使用位于MULTI/EXEC塊中的上述兩條命令來取代。該命令提供了對指定操作序列的一種替代方式,因為這一操作在Redis用作緩存時使用非常普遍。
    返回值:返回Redis的狀態碼。
    該命令自1.3.10版本后可用。

    16.SETNX
    語法:SETNX
    key
    value
    說明:該命令的時間復雜度為O(1)。如果指定的key不存在,那么將其值設置為一個字符串。在這種情況下,該命令等同于SET。當在key上已經存儲有值時,將不進行任何操作。SETNX可以看作是“SET
    if Not
    eXists”的縮寫。
    返回值:如果該key的值被設置,返回值為1;如果該key沒有被設置,那么返回值為0。
    該命令自0.07版本后可用。

    17.SETRANGE
    語法:SETRANGE
    key offset
    value
    說明:該操作的時間復雜度為O(1),其中并不包括拷貝新串的時間開銷。通常情況下,字符串長度很小,因此平均下來時間復雜度可以看作是O(1)。不然的話,時間復雜度為O(M),此處M的值為指定的value的長度。存儲在key上字符串被重寫的部分從指定的offset位值開始,長度與value所具有的長度相同。如果offset大于當前字符串的長度,字符串將會使用0來補充以便適應指定的offset。如果指定的key不存在,那么存儲在其上的值被認為是空串,因此該命令將會確保該key會持有一個足夠大的字符串以便能夠設置其在offset偏移處的值。需要注意的是:你可以設置的最大的偏移值為229-1,因為Redis字符串的大小被限定在512MB以內。如果你希望超出該范圍,你可以使用多個keys。
    返回值:返回該命令完成后字符串的長度。
    該命令自2.1.8版本后可用。

    18.STRLEN
    語法:STRLEN
    key
    說明:該操作的時間復雜度為O(1)。返回存儲在key上的字符串的長度。如果在該key上存儲的值不是字符串類型,那么將返回一個錯誤。
    返回值:返回存儲在key上的字符串的長度;如果該key不存在,那么返回值為0。
    該命令自2.1.2版本后可用。

    posted on 2012-06-19 11:33 強強 閱讀(408) 評論(0)  編輯  收藏 所屬分類: Redis

    主站蜘蛛池模板: 亚洲国产成人精品无码区花野真一 | 亚洲精品成人片在线观看精品字幕| 亚洲日韩中文无码久久| 日本特黄特色免费大片| 免费无码精品黄AV电影| 日韩精品福利片午夜免费观着| 免费h片在线观看网址最新| 久久久久久毛片免费播放| 免费无码毛片一区二区APP| 久久99精品国产免费观看| 好久久免费视频高清| 久久精品免费电影| 久久久久成人片免费观看蜜芽| 嫩草成人永久免费观看| 一区二区三区在线免费看| 亚欧免费一级毛片| 亚洲一级免费毛片| 免费精品人在线二线三线区别| 成人午夜视频免费| 亚洲av无码不卡私人影院| 亚洲国产成人久久综合区| 美腿丝袜亚洲综合| 亚洲A∨无码无在线观看| 亚洲精品中文字幕麻豆| 亚洲视频无码高清在线| 色综合久久精品亚洲国产| 一级黄色毛片免费看| 免费黄网站在线观看| 亚洲无砖砖区免费| 大陆一级毛片免费视频观看| 免费在线观看毛片| 亚洲va无码va在线va天堂| 亚洲高清中文字幕| 亚洲国产精品无码观看久久| 日韩精品免费一线在线观看| 久草免费福利视频| 欧洲黑大粗无码免费| 亚洲国产婷婷综合在线精品 | 成视频年人黄网站免费视频| 日韩高清免费在线观看| 久久久久国产成人精品亚洲午夜 |