<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                **string類型介紹** 與大多編程語言中的字符串類型一樣,Redis的字符串也是字符序列,它是Redis中最為基礎的數據存儲類型,具有以下特點: 字符串類型是Redis中二進制安全的,這就意味著它們都有一個已知的長度,可以接受任何格式的數據(如信息交換中常用的Json格式字符串,甚至圖像數據)。 Redis中字符串類型最多可以容納的數據長度可達512M。 **string類型相關命令** Redis字符串命令主要用于管理字符串值,主要包括以下命令: **1、 set命令** set命令用于設置指定鍵的值,具體格式為: set key value [ex 秒數] [px 毫秒數] [nx/xx]   各個選項的含義如下: ex:設置指定的到期時間,單位為秒 px:設置指定的到期時間,單位為毫秒,如果ex和px同時寫,則以后面的有效期為準 nx:如果對應key不存在則創建 xx:如果對應key存在則修改其值 示例1: ``` 127.0.0.1:6379> set mykey "this is redis" OK ``` 在示例1中,用set命令來設置key、value,操作成功后終端打印出“OK”。 **2、get命令** get命令用來獲取指定鍵的值,如果鍵不存在,則返回nil,如果返回值不是字符串,則返回錯誤。具體格式為: get key 示例2: ``` 127.0.0.1:6379> get mykey"this is redis" 127.0.0.1:6379> get yourkey(nil) ``` **3、mset命令** mset命令用于一次性設置多個鍵和值,和set命令一樣操作成功后返回字符串“OK”。具體格式為: mset key1 value1 key2 value2 ... 示例3: ``` 127.0.0.1:6379> mset key1 "this is key1" key2 "this is key2" OK 127.0.0.1:6379> get key1 "this is key1" 127.0.0.1:6379> get key2 "this is key2" ``` **4、mget命令** mget命令用于返回所有給定鍵的值。對于某個不存在值的鍵或者不存在的鍵,返回nil,否則返回指定鍵的值列表。具體格式為: mget key1 key2 ... 示例4: ``` 127.0.0.1:6379> set key1 "hello" OK 127.0.0.1:6379> set key2 "world" OK 127.0.0.1:6379> mget key1 key2 key3 1) "hello" 2) "world" 3) (nil) ``` **5、setrange命令** setrange命令將字符串中偏移量為offset后的子串覆蓋為指定的值,該命令返回修改后的字符串的長度。具體格式為: setrange key offset value 如果偏移量offset > 原字符串長度,不足部分用0x00補全。 示例5: ``` 127.0.0.1:6379> set key1 "Hello World" OK 127.0.0.1:6379> setrange key1 6 "Redis" (integer) 11 127.0.0.1:6379> get key1 "Hello Redis" 127.0.0.1:6379> setrange key1 15 "Hei" (integer) 18 127.0.0.1:6379> get key1 "Hello Redis\x00\x00\x00\x00Hei" ``` **6、setex命令** setex命令用來設置指定鍵的值,并指定該鍵值對應的存在時間(單位:秒)。具體格式如下: setex key seconds value 示例6: ``` 127.0.0.1:6379> setex key1 5 "hello" // 5s的過期時間 OK 127.0.0.1:6379> get key1 // 馬上訪問 "hello" 127.0.0.1:6379> get key1 // 5s后訪問 (nil) ``` 7、setnx命令 setnx命令也可以用來設置指定鍵的字符串值,但該命令在設置前需要檢查指定鍵是否已經存在。如果存在,則該命令的作用和set命令一樣,操作完成后返回1,否則不重新設置已經存在的鍵的字符串值,直接返回0。具體格式如下: setnx key value 示例7: ``` 127.0.0.1:6379> setnx key1 "Hello" (integer) 1 127.0.0.1:6379> setnx key1 "World" (integer) 0 127.0.0.1:6379> get key1 "Hello" ``` **8、append命令** 故名思議,append命令將字符串追加到指定鍵的原值上,返回值為新字符串的長度。具體格式為: append key value 示例8: ``` 127.0.0.1:6379> set key1 "Hello " OK 127.0.0.1:6379> append key1 "World" (integer) 11 127.0.0.1:6379> get key1 "Hello World" ``` **9、getrange命令** getrange命令獲取字符串指定范圍的子串,具體格式為: getrange key start stop getrange命令返回字符串中下標范圍為[start,stop]范圍的值。類似python,該命令下標支持負偏移量,右邊第一個下標為-1。假設字符串的長度為length,getrange根據以下原則決定返回值: 當start > length,則返回空字符串 當stop >= length,則截取至字符串尾 如果start > stop,則返回空字符串 如果0 <= start <= stop < length,返回指定范圍的子串 示例9: ``` 127.0.0.1:6379> set key1 "This is getrange testing" OK 127.0.0.1:6379> getrange key1 5 6 "is" 127.0.0.1:6379> getrange key1 100 200 "" 127.0.0.1:6379> getrange key1 5 100 "is getrange testing" ``` **10、incr命令** incr命令用于自增一個指定鍵對應的整數值并返回新的值。如果該鍵不存在,則創建該鍵,對應的value被置為0然后執行自增操作,如果該鍵對應的值不能轉換為整數,則返回錯誤。 具體格式為: incr key 示例8: ``` 127.0.0.1:6379> flushdb OK 127.0.0.1:6379> set key1 10 OK 127.0.0.1:6379> incr key1 (integer) 11 127.0.0.1:6379> incr key2 (integer) 1 127.0.0.1:6379> set key2 "non" OK 127.0.0.1:6379> incr key2 (error) ERR value is not an integer or out of range 127.0.0.1:6379> ``` **10、incrby命令** 該命令與incr命令相似,不同的是:incrby命令可以自定義自增值,這也是命令中“by”的含義。具體格式為: incrby key k 示例9: ``` 127.0.0.1:6379> set key1 10 OK 127.0.0.1:6379> incrby key1 5 (integer) 15 127.0.0.1:6379> get key1 "15" ``` **11、incrbyfloat命令** 從字面上我們就可以看出incrbyfloat是和incrby相似的命令,不同的是:incrbyfloat對指定鍵的值自增一個浮點數。該命令返回修改后的新值。具體格式為: incrbyfloat by f 示例10: ``` 127.0.0.1:6379> set key1 100 OK 127.0.0.1:6379> incrbyfloat key1 0.5 "100.5" ``` **12、decr和decrby命令** decr命令和incr命令作用相反,具體格式如下: decr key decrby命令和incrby命令作用相反,具體格式如下: decrby key decrement **13、strlen命令** strlen命令返回指定鍵的字符串值的長度。具體格式為: strlen key 示例13: ``` 127.0.0.1:6379> set key1 "Hello Redis" OK 127.0.0.1:6379> strlen key1 (integer) 11 ``` **14、setbit命令** setbit命令用來設置指定鍵的字符串在offset偏移量上對應二進制位上的值,并返回該為上的舊值。由于該命令操作的是二進制位,所以設置的新值只能為0或1。如果指定key不存在,則創建一個新值并在指定的offset上設置二進制值。如果offset大于字符串的長度,不足部分用0填充后在指定offset上設置二進制值。具體格式如下: setbit key offset value 示例14: ``` 127.0.0.1:6379> set key1 "Hello Redis" OK 127.0.0.1:6379> strlen key1 (integer) 11 ``` 15、getbit命令 與setbit命令相對應,getbit命令用于返回指定偏移量offset上二進制位的值。如果offset大于value的長度,或者指定key不存在,則返回0。具體格式如下: getbit key offset 示例15: ``` 127.0.0.1:6379> setbit key1 7 1 (integer) 1 127.0.0.1:6379> getbit key1 7 (integer) 1 127.0.0.1:6379> getbit key1 100 (integer) 0 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看