<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [toc] REDIS有6大數據結構:string,link,sortedset,sets,hash,Geo。 這6個結構我將用6篇文章來記錄各自是怎么用的,然后再用一篇文章來說一下各自的應用場景; ## string ### **增** set key value [ex 秒數] / [px 毫秒數] [nx] /[xx] set a 1 ex 10 , 10秒有效 Set a 1 px 9000 , 9秒有效 將key和value對應。如果key已經存在了,它會被覆蓋,而不管它是什么類型。 注: 如果ex,px同時寫,以后面的有效期為準 如 `set a 1 ex 100 px 9000`, 實際有效期是9000毫秒(9秒) nx: 表示key不存在時,執行操作 xx: 表示key存在時,執行操作 mset multi set mset key1 v1 key2 v2 .... 一次性設置多個鍵值 ### **刪** 刪除一個key并返回key的數量 del key ``` # Example redis> SET key2 "World" OK redis> DEL key1 key2 key3 (integer) 2 redis> ``` ### **改** rename oldkey newskey 將key重命名為newkey,如果key與newkey相同,將返回一個錯誤。如果newkey已經存在,則值將被覆蓋。 renamenx oldkey newskey nx -> not exits 當且僅當 newkey 不存在時,將 key 改名為 newkey 。當 key 不存在時,返回一個錯誤。 setrange key offset value ``` redis 127.0.0.1:6379> set greet hello OK redis 127.0.0.1:6379> setrange greet 2 x (integer) 5 redis 127.0.0.1:6379> get greet "hexlo" # 如果偏移量>字符長度, 該字符自動補0\x00 redis 127.0.0.1:6379> setrange greet 6 ! (integer) 7 redis 127.0.0.1:6379> get greet "heyyo\x00!" ``` 作用: 把字符串的offset偏移字節,改成value append key value 作用: 把value追加到key的原值上 getset key newvalue ``` redis 127.0.0.1:6379> set cnt 0 OK redis 127.0.0.1:6379> getset cnt 1 "0" redis 127.0.0.1:6379> getset cnt 2 "1" ``` 作用:設置新值并返回舊值 incr key 作用: 指定的key的值加1,并返回加1后的值 1. 不存在的key當成0,再incr操作 2. 范圍為64有符號 --- incrby key number ``` redis 127.0.0.1:6379> incrby age 90 (integer) 92 ``` 作用: key每次遞增number,但僅限于整數 incrbyfloat key floatnumber ``` redis 127.0.0.1:6379> incrbyfloat age 3.5 "95.5" ``` 作用: key每次遞增floatnumber,但僅限于整數 decr key ``` redis 127.0.0.1:6379> set age 20 OK redis 127.0.0.1:6379> decr age (integer) 19 ``` decrby key number ``` redis 127.0.0.1:6379> decrby age 3 (integer) 16 ``` setbit key offset value ``` redis 127.0.0.1:6379> set char A OK redis 127.0.0.1:6379> setbit char 2 1 #大寫字母轉換成小寫字母; #大寫字母和小寫字母在ascii表中的區別: A:0100 0001 a:0110 0001 B:0100 0010 b:0110 0010 差異:在第二位0和1的差別; ``` 作用: 設置offset對應二進制位上的值 返回: 該位上的舊值 注意: 1:如果offset過大,則會在中間填充0, 2:offset最大大到多少 3:offset最大2^32-1,可推出最大的的字符串為512M bitop operation destkey key1 [key2 ...] 對key1,key2..keyN進行operation位元操作,并將結果保存到 destkey 上。 operation 可以是 AND 、 OR 、 NOT 、 XOR的任意一種: 1. BITOP AND destkey key [key ...] ,對一個或多個 key 求邏輯并,并將結果保存到 destkey 。 1. BITOP OR destkey key [key ...] ,對一個或多個 key 求邏輯或,并將結果保存到 destkey 。 1. BITOP XOR destkey key [key ...] ,對一個或多個 key 求邏輯異或,并將結果保存到 destkey 。 1. BITOP NOT destkey key ,對給定 key 求邏輯非,并將結果保存到 destkey 。 ``` redis 127.0.0.1:6379> setbit lower 7 0 # 00000000 空字符 (integer) 0 redis 127.0.0.1:6379> setbit lower 2 1 #00100000 空格 (integer) 0 redis 127.0.0.1:6379> get lower " " redis 127.0.0.1:6379> set char Q OK redis 127.0.0.1:6379> get char #01010001 "Q" redis 127.0.0.1:6379> bitop or char char lower #求邏輯或 #01010001 #00100000 #01110001 (integer) 1 redis 127.0.0.1:6379> get char #01110001 "q" # 注意: 對于NOT操作, key不能多個 ``` ### **查** GET key 返回key的value。如果key不存在,返回特殊值nil。如果key的value不是string,就返回錯誤,因為GET只處理string類型的values。 KEYS pattern 查找所有符合給定模式 pattern 的 key 。 - `KEYS *` 匹配數據庫中所有 key 。 - `KEYS h?llo` 通配單個字符 如 hello , hallo 和 hxllo 等。 - `KEYS h*llo` 通配任意多個字符(包括沒有) 如hllo 和 heeeeello 等。 - `KEYS h[ae]llo` 通配括號內的某1個字符 如hello 和 hallo ,但不匹配 hillo 。 **特殊符號用 \ 隔開。** randomkey 從當前數據庫返回一個隨機的key。 type key 返回 key 所儲存的值的類型。 exists key 返回key是否存在。如果存在返回1,不存在就返回0 mget key1 key2 ..keyn 一次性獲取多個建 getrange key start stop ``` redis 127.0.0.1:6379> set title 'chinese' OK redis 127.0.0.1:6379> getrange title 0 3 "chin" redis 127.0.0.1:6379> getrange title 1 -2 "hines" ``` 作用: 是獲取字符串中 [start, stop]范圍的值 注意: 對于字符串的下標,左數從0開始,右數從-1開始 1. start>=length, 則返回空字符串 2. stop>=length,則截取至字符結尾 3. 如果start 所處位置在stop右邊, 返回空字符串 --- getbit key offset ``` redis 127.0.0.1:6379> set char A OK redis 127.0.0.1:6379> getbit char 1 (integer) 1 redis 127.0.0.1:6379> getbit char 2 (integer) 0 redis 127.0.0.1:6379> getbit char 7 (integer) 1 ``` 作用: 獲取值的二進制表示,對應位上的值(從左開始,從0編號) 關于二進制運算: AND: 與運算,邏輯乘 0x0=0 0x1=1x0=0 1x1=1 OR: 或運算,邏輯加 0+0=0 0+1=1+0=1 1+1=1 NOT: 邏輯非 非1=0 非0=1 XOR: 0異或0=0 0異或1=1 1異或0=1 1異或1=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>

                              哎呀哎呀视频在线观看