小螞蟻學習Redis筆記(3)——Redis數據類型之string類型

昨天安裝完畢,今天終於能夠進入正題了。php

Redis中string類型的經常使用命令:安全

    string是最簡單的類型,一個key對應一個value,string類型是二進制安全的類型,Redis的string能夠包含任何數據,好比:圖片或者序列化的對象。
app

1.    set    設置一對鍵值函數

    格式:set    鍵    值        例如:set     name    "allen"spa

    含義:添加一個鍵值對。.net

    值得注意的是,這個命令在設置重複的key時,value是會覆蓋的。它的做用是若是鍵不存在就添加這個鍵,若是存在就覆蓋,會返回OK。
對象

2.    setnx    設置一對鍵值(鍵若是重複,不會覆蓋)blog

    格式:setnx    鍵    值        例如:setnx    name1    「john」
圖片

    含義:此命令在設置鍵的時候,會判斷這個鍵是否存在,若是不存在,就建立這個鍵值,返回1,若是存在,不會更新原值,返回0。區別於set。
ci

3.    setex    設置一對鍵值,並指定有效時間

    格式:setex    鍵    時間    值    例如:setex    name2    10    「frank」

    含義:設置一個key對應的值爲string類型的value,而且指定此鍵值對應的有效期。

    注意:在有效期內,可以返回值,超出有效期,只能返回空(nil)。若是key相同,該命令會覆蓋上一個key的值。

    另外:不設置有效期,表明永久生效。

4.    setrange    設置指定key的value值的子字符串

    這個須要上例子了:

    127.0.0.1:6379> set email "allen@xiaonayi.com"

    OK

    127.0.0.1:6379> setrange email 6 "php"

    (integer) 18

    127.0.0.1:6379> get email

    "allen@phponayi.com"

     從例子中能夠看到,從下標爲6的字符開始,被「php」這三個字符給替換掉了,可是後面沒有替換的部分還在。替換成功會返回替換成功以後的總長度。

5.    mset    批量設置鍵值對

    格式:mset    key1 value1 key2 value2 key3 value3……

    含義:一次性設置多個key的值,成功返回OK,表示全部的值都設置了;失敗返回0,表示沒有任何值被設置。 

    注意:m表明批量的意思,後面還有不少批量的操做。

6.    msetnx    批量設置鍵值對,可是不會覆蓋相同key的值。

    格式:msetnx    key1 value1 key2 value2 key3 value3……

    含義:一次設置多個key的值,成功返回1,表示全部值都已經被設置;失敗返回0,表示沒有任何值被設置。但!是!它不會覆蓋已經存在的key。區別於:mset

7.    get    返回一個鍵的值

    格式:get    name    將會返回來那麼的值。若是鍵不存在,返回空(nil)

8.    getset    設置key的值,而且返回key的舊值

    直接上例子:

    127.0.0.1:6379> get name1

    "aaa"

    127.0.0.1:6379> getset name1 bbb

    "aaa"

    127.0.0.1:6379> get name1

    "bbb"

    例子很明瞭了,name1的原來值是aaa,而後用getset賦值了一個bbb,返回的是原來值aaa。事實上已經賦予了新值。

9.    getrange    獲取key的value值的子字符串

    格式:getrange    email    0    5

    含義:把鍵名爲email的值,從第0個字符到第5個字符返回。例如:

    127.0.0.1:6379> getrange email 0 5

    "allen@"

10.    mget    批量獲取值

    格式:mget    key1    key2    key3    key4    ……

    含義:批量獲取值,存在返回值,不存在返回空(nil)

11.    incr    對key的值作遞增操做

    格式:incr    num    

    含義:對鍵名爲num的值,每次遞增1。

    注意:若是num的值不是int類型,會報錯:(error) ERR value is not an integer or out of range

12.    incrby    同上,加上指定值

    格式:incrby    key    數字

    含義:對key的值按照指定的數字遞增。

    注意:正數,遞增;負數,遞減。

13.    decr    遞減操做

    格式:decr    key

    含義:對key的值每次遞減1。

14.    decrby    按照指定值遞減

    格式:decrby    key    數字

    含義:按照指定的值,每次遞減

    注意:正數,遞減;負數,遞增。

PS:incrby 和 decrby    正好相反。

15.    append    追加value

    格式:append    key    值

    含義:爲key的值的末尾,在加上指定的值。返回的是新字符串的長度。

16.    strlen    獲取字符串的長度

    格式:strlen    key

    含義:返回key值的長度。若是key存在,就返回長度。key不存在,返回0。這個函數和php的同樣。


    愛瑪,打字累的指頭疼,昨天雙11,犒勞本身買了個機械鍵盤,但願快快來    o(*≧▽≦)ツ┏━┓

    學PHP的小螞蟻 原創博客 http://my.oschina.net/woshixiaomayi/blog

相關文章
相關標籤/搜索