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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                > **Redis-常用類型操作命令(數據庫/string)** [TOC] ## 說明 ## **記錄以下Redis常用類型的操作命令。** ---------- ## Redis簡單說明 ## <h5>參考文檔</h5> >redis中文網:http://www.redis.cn/ >菜鳥教程: https://www.runoob.com/redis/redis-tutorial.html >redis文檔: http://redisdoc.com/ <h5>簡單介紹</h5> Redis 是一個高性能的 key-value 數據庫。 Redis 與其他 key - value 緩存產品有以下三個特點: Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啟的時候可以再次加載進行使用。 Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。 Redis支持數據的備份,即master-slave模式的數據備份。 ## 通用數據庫命令 ## <h5>KEYS * 查看所有</h5> 127.0.0.1:6379> set a 1 OK 127.0.0.1:6379> set b 2 OK 127.0.0.1:6379> keys * 1) "b" 2) "a" <h5>KEYS 模糊匹配key</h5> keys 也支持模糊匹配,keys pattern 模式 keys pattern模式支持三種通配符* ? [] * 匹配任意字符 ? 通配單個字符 [] 通配指定字符 ---------- 127.0.0.1:6379> set zhangsan 19 OK 127.0.0.1:6379> set zhangqiang 18 OK 127.0.0.1:6379> set wangwu 16 OK 127.0.0.1:6379> set wangliu 17 OK 127.0.0.1:6379> keys z* 1) "zhangqiang" 2) "zhangsan" 127.0.0.1:6379> keys zha??* 1) "zhangqiang" 2) "zhangsan" 127.0.0.1:6379> keys wang[w]u 1) "wangwu" <h5>TYPE 獲取key類型 </h5> TYPE key:返回 key 所儲存的值的類型。 返回值 none (key不存在) string (字符串) list (列表) set (集合) zset (有序集) hash (哈希表) stream (流) ---------- # 字符串 redis> SET weather "sunny" OK redis> TYPE weather string # 列表 redis> LPUSH book_list "programming in scala" (integer) 1 redis> TYPE book_list list # 集合 redis> SADD pat "dog" (integer) 1 redis> TYPE pat set <h5>DEL 刪除key </h5> DEL key [key …]:刪除給定的一個或多個 key 。 不存在的 key 會被忽略。 返回值:被刪除 key 的數量。 ---------- 127.0.0.1:6379> keys * 1) "1" 2) "zhangsan" 3) "wangwu" 4) "wangliu" 5) "zhangqiang" 127.0.0.1:6379> del 1 (integer) 1 127.0.0.1:6379> keys * 1) "zhangsan" 2) "wangwu" 3) "wangliu" 4) "zhangqiang" <h5>EXISTS 判斷key存在</h5> > 1存在 0不存在 127.0.0.1:6379> keys * 1) "zhangsan" 2) "wangwu" 3) "wangliu" 4) "zhangqiang" 127.0.0.1:6379> exists zhangsan (integer) 1 127.0.0.1:6379> exists lisi (integer) 0 <h5>RENAME 重命名</h5> 給key值重命名,如果名字已存在,在名字的原值被覆蓋 127.0.0.1:6379> rename zhangsan zhangsans OK 127.0.0.1:6379> keys * 1) "zhangsans" 2) "wangwu" 3) "wangliu" 4) "zhangqiang" ---------- 127.0.0.1:6379> get wangwu "19" 127.0.0.1:6379> get wangliu "17" 127.0.0.1:6379> rename wangliu wangwu OK 127.0.0.1:6379> get wangwu "17" <h5>RENAMENX 名字不存在時重命名</h5> > 1修改 0不修改 127.0.0.1:6379> keys * 1) "wangwu" 2) "zhangqiang" 127.0.0.1:6379> renamenx wangwu zhangqiang (integer) 0 <h5>MOVE移動key到其他庫</h5> > redis 默認開啟16個庫 從0開始 127.0.0.1:6379> keys * 1) "wangwu" 2) "zhangqiang" 127.0.0.1:6379> move wangwu 2 (integer) 1 127.0.0.1:6379> select 2 OK 127.0.0.1:63 <h5>EXPIRE 設置key過期時間(秒)</h5> > pexpire 設置過期時間毫秒 127.0.0.1:6379> expire zhangqiang 10000 (integer) 1 127.0.0.1:6379> ttl zhangqiang (integer) 9996 <h5>TTL 返回key過期時間(秒)</h5> > pttl 返回key過期時間毫秒 > 鍵值不存在時返回-2 127.0.0.1:6379> ttl zhangqiang (integer) 9792 127.0.0.1:6379> pttl zhangqiang (integer) 9788177 127.0.0.1:6379> ttl wangliu (integer) -2 <h5>PERSITE 設置key為永久</h5> > 1成功 0失敗 127.0.0.1:6379> persist zhangqiang (integer) 1 127.0.0.1:6379> persist wangliu (integer) 0 <h5>DBSIZE</h5> DBSIZE返回當前數據庫的 key 的數量。 返回值:當前數據庫的 key 的數量。 ---------- redis> DBSIZE (integer) 5 redis> SET new_key "hello_moto" # 增加一個 key 試試 OK redis> DBSIZE (integer) 6 <h5>FLUSHDB</h5> 清空當前數據庫中的所有 key。 此命令從不失敗。 <h5>FLUSHDB</h5> 清空整個 Redis 服務器的數據(刪除所有數據庫的所有 key )。 此命令從不失敗。 <h5>SELECT</h5> 切換到指定的數據庫,數據庫索引號 index 用數字值指定,以 0 作為起始索引值。 默認使用 0 號數據庫。 ---------- redis> SET db_number 0 # 默認使用 0 號數據庫 OK redis> SELECT 1 # 使用 1 號數據庫 OK redis[1]> GET db_number # 已經切換到 1 號數據庫,注意 Redis 現在的命令提示符多了個 [1] (nil) redis[1]> SET db_number 1 OK redis[1]> GET db_number "1" redis[1]> SELECT 3 # 再切換到 3 號數據庫 OK redis[3]> # 提示符從 [1] 改變成了 [3] <h5>SWAPDB</h5> SWAPDB db1 db2 對換指定的兩個數據庫, 使得兩個數據庫的數據立即互換。 ---------- # 對換數據庫 0 和數據庫 1 redis> SWAPDB 0 1 OK ## 字符串 string ## <h5>SET</h5> > MSET同時為多個鍵設置值。 SET key value [EX seconds] [PX milliseconds] [NX|XX] 將字符串值 value 關聯到 key 。 如果 key 已經持有其他值, SET 就覆寫舊值, 無視類型。 當 SET 命令對一個帶有生存時間(TTL)的鍵進行設置之后, 該鍵原有的 TTL 將被清除。 ---------- EX seconds : 將鍵的過期時間設置為 seconds 秒。 執行 SET key value EX seconds 的效果等同于執行 SETEX key seconds value 。 PX milliseconds : 將鍵的過期時間設置為 milliseconds 毫秒。 執行 SET key value PX milliseconds 的效果等同于執行 PSETEX key milliseconds value 。 NX : 只在鍵不存在時, 才對鍵進行設置操作。 執行 SET key value NX 的效果等同于執行 SETNX key value 。 XX : 只在鍵已經存在時, 才對鍵進行設置操作。 127.0.0.1:6379> set zhangsan 1000 ex 100 OK 127.0.0.1:6379> ttl zhangsan (integer) 94 127.0.0.1:6379> get zhangsan "1000" <h5>SETNX</h5> > MSETNX 當且僅當所有給定鍵都不存在時, 為所有給定鍵設置值。 只在鍵 key 不存在的情況下, 將鍵 key 的值設置為 value 。 若鍵 key 已經存在, 則 SETNX 命令不做任何動作。 SETNX 是『SET if Not eXists』(如果不存在,則 SET)的簡寫。 返回值 命令在設置成功時返回 1 , 設置失敗時返回 0 。 127.0.0.1:6379> setnx zhangsan 1000 (integer) 1 127.0.0.1:6379> setnx zhangsan 600 (integer) 0 <h5>SETEX</h5> SETEX key seconds value 將鍵 key 的值設置為 value , 并將鍵 key 的生存時間設置為 seconds 秒鐘。 如果鍵 key 已經存在, 那么 SETEX 命令將覆蓋已有的值。 SETEX 命令的效果和以下兩個命令的效果類似: SET key value EXPIRE key seconds # 設置生存時間 SETEX 和這兩個命令的不同之處在于 SETEX 是一個原子(atomic)操作, 它可以在同一時間內完成設置值和設置過期時間這兩個操作, 因此 SETEX 命令在儲存緩存的時候非常實用。 返回值 命令在設置成功時返回 OK 。 當 seconds 參數不合法時, 命令將返回一個錯誤。 PSETEX key milliseconds value PSETEX 設置毫秒 語法跟SETEX相同 ---------- 127.0.0.1:6379> setex lisi 600 100 OK 127.0.0.1:6379> ttl lisi (integer) 595 <h5>GET</h5> 返回與鍵 key 相關聯的字符串值。 返回值 如果鍵 key 不存在, 那么返回特殊值 nil ; 否則, 返回鍵 key 的值。 如果鍵 key 的值并非字符串類型, 那么返回一個錯誤, 因為 GET 命令只能用于字符串值。 ---------- 127.0.0.1:6379> set a zhangsan OK 127.0.0.1:6379> get a "zhangsan" <h5>GETSET</h5> GETSET key value 將鍵 key 的值設為 value , 并返回鍵 key 在被設置之前的舊值。 返回值 返回給定鍵 key 的舊值。 如果鍵 key 沒有舊值, 也即是說, 鍵 key 在被設置之前并不存在, 那么命令返回 nil 。 當鍵 key 存在但不是字符串類型時, 命令返回一個錯誤。 ---------- 127.0.0.1:6379> set a zhangsan OK 127.0.0.1:6379> get a "zhangsan" 127.0.0.1:6379> getset a lisi "zhangsan" 127.0.0.1:6379> get a "lisi" <h5>STRLEN</h5> STRLEN key返回鍵 key 儲存的字符串值的長度。 返回值 STRLEN 命令返回字符串值的長度。 當鍵 key 不存在時, 命令返回 0 。 當 key 儲存的不是字符串值時, 返回一個錯誤。 ---------- 127.0.0.1:6379> strlen a (integer) 4 127.0.0.1:6379> strlen b (integer) 0 127.0.0.1:6379> <h5>APPEND</h5> APPEND key value 如果鍵 key 已經存在并且它的值是一個字符串, APPEND 命令將把 value 追加到鍵 key 現有值的末尾。 如果 key 不存在, APPEND 就簡單地將鍵 key 的值設為 value , 就像執行 SET key value 一樣。 返回值 追加 value 之后, 鍵 key 的值的長度。 ---------- 127.0.0.1:6379> append a wangwu (integer) 10 127.0.0.1:6379> get a "lisiwangwu" <h5>INCR</h5> > INCRBY 為鍵 key 儲存的數字值加上增量 increment 。 > INCRBYFLOAT 為鍵 key 儲存的值加上浮點數增量 increment 。 > DECR為鍵 key 儲存的數字值減去一。 > DECRBY將鍵 key 儲存的整數值減去減量 decrement 。 為鍵 key 儲存的數字值加上一。 如果鍵 key 不存在, 那么它的值會先被初始化為 0 , 然后再執行 INCR 命令。 如果鍵 key 儲存的值不能被解釋為數字, 那么 INCR 命令將返回一個錯誤。 本操作的值限制在 64 位(bit)有符號數字表示之內。 INCR 命令會返回鍵 key 在執行加一操作之后的值。 ---------- 127.0.0.1:6379> set age 20 OK 127.0.0.1:6379> incr age (integer) 21 127.0.0.1:6379> incr age (integer) 22 127.0.0.1:6379> incr age (integer) 23 <h5>SETRANGE</h5> 從偏移量 offset 開始, 用 value 參數覆寫(overwrite)鍵 key 儲存的字符串值。 不存在的鍵 key 當作空白字符串處理。 SETRANGE 命令會確保字符串足夠長以便將 value 設置到指定的偏移量上, 如果鍵 key 原來儲存的字符串長度比偏移量小(比如字符串只有 5 個字符長,但你設置的 offset 是 10 ), 那么原字符和偏移量之間的空白將用零字節(zerobytes, "\x00" )進行填充。 因為 Redis 字符串的大小被限制在 512 兆(megabytes)以內, 所以用戶能夠使用的最大偏移量為 2^29-1(536870911) , 如果你需要使用比這更大的空間, 請使用多個 key 。 返回值 SETRANGE 命令會返回被修改之后, 字符串值的長度。 ---------- 127.0.0.1:6379> set zw "zhans san" OK 127.0.0.1:6379> SETRANGE zw 6 "lisi" (integer) 10 127.0.0.1:6379> get zw "zhans lisi" 127.0.0.1:6379> SETRANGE zw 12 "lisi" (integer) 16 127.0.0.1:6379> get zw "zhans lisi\x00\x00lisi" 127.0.0.1:6379> <h5>GETRANGE</h5> 返回鍵 key 儲存的字符串值的指定部分, 字符串的截取范圍由 start 和 end 兩個偏移量決定 (包括 start 和 end 在內)。 負數偏移量表示從字符串的末尾開始計數, -1 表示最后一個字符, -2 表示倒數第二個字符, 以此類推。 GETRANGE 通過保證子字符串的值域(range)不超過實際字符串的值域來處理超出范圍的值域請求。 GETRANGE 命令會返回字符串值的指定部分。 ---------- 127.0.0.1:6379> GETRANGE zw 6 12 "lisi\x00\x00l" 127.0.0.1:6379> GETRANGE zw 0 -6 "zhans lisi\x00" ## 結尾 ## <p style="background-image: -webkit-linear-gradient(left, #3498db, #f47920 10%, #d71345 20%, #f7acbc 30%,#ffd400 40%, #3498db 50%, #f47920 60%, #d71345 70%, #f7acbc 80%, #ffd400 90%, #3498db);color: transparent;-webkit-text-fill-color: transparent;-webkit-background-clip: text;text-align:center;"> 腹有詩書氣自華,最是書香能致遠。 </p>
                  <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>

                              哎呀哎呀视频在线观看