redis筆記------key關鍵字、String、list、set常用命令


一、關於KEY的部分命令:  

  EXISTS KEY:檢查給定 key 是否存在; 

  MOVE KEY DB:將當前數據庫的 key 移動到給定的數據庫 db 當中;

  EXPIRE KEY + 秒鍾:為給定 key 設置生存時間,當 key 過期時(生存時間為 0 ),它會被自動刪除(key *命令查看不到該記錄了);

  TTL KEY :以秒為單位,返回給定 key 的剩余生存時間(TTL, time to live),當 key 不存在時,返回 -2 。 當 key 存在但沒有設置剩余生存時間時,返回 -1 。 否則,以秒為單位,返回 key 的剩余生存時間;

  TYPE KEY:返回 key 所儲存的值的類型;

 

二、String的部分命令(單值單value):

  APPEND key value :如果鍵 key 已經存在並且它的值是一個字符串, APPEND 命令將把 value 追加到鍵 key 現有值的末尾;如果 key 不存在, APPEND 就簡單地將鍵 key 的值設為 value , 就像執行 SET key value 一樣。

  STRLEN key : 返回鍵 key 儲存的字符串值的長度。命令返回字符串值的長度。當鍵 key 不存在時, 命令返回 0 。當 key 儲存的不是字符串值時, 返回一個錯誤。

  GETRANGE key start end:返回鍵 key 儲存的字符串值的指定部分, 字符串的截取范圍由 start 和 end 兩個偏移量決定 (包括 start 和 end 在內)。

  SETEX key seconds value: 將鍵 key 的值設置為 value , 並將鍵 key 的生存時間設置為 seconds 秒鍾;如果鍵 key 已經存在, 那么 SETEX 命令將覆蓋已有的值。

  SETNE key value :只在鍵 key 不存在的情況下, 將鍵 key 的值設置為 value ;若鍵 key 已經存在, 則 SETNX 命令不做任何動作。

  MSET key value[key value......] :如果某個給定鍵已經存在, 那么 MSET 將使用新值去覆蓋舊值。MSET 是一個原子性(atomic)操作, 所有給定鍵都會在同一時間內被設置, 不會出現某些鍵被設置了但是另一些鍵沒有被設置的情況。

  MGET key[key......]:返回給定的一個或多個字符串鍵的值。如果給定的字符串鍵里面, 有某個鍵不存在, 那么這個鍵的值將以特殊值 nil 表示。

  MSETNX key value[key value]:當且僅當所有給定鍵都不存在時, 為所有給定鍵設置值。即使只有一個給定鍵已經存在, MSETNX 命令也會拒絕執行對所有鍵的設置操作。

 

三、List(單值多value):

  LPUSH key value[key value......]:將一個或多個值 value 插入到列表 key 的表頭,如果有多個 value 值,那么各個 value 值按從左到右的順序依次插入到表頭: 比如說,對空列表 mylist 執行命令 LPUSH mylist c ,列表的值將是 a ,這等同於原子性地執行 LPUSH mylist a 、 LPUSH mylist b 和 LPUSH mylist c 三個命令。

  RPUSH key value[key value......]:將一個或多個值 value 插入到列表 key 的表尾(最右邊)。如果有多個 value 值,那么各個 value 值按從左到右的順序依次插入到表尾:比如對一個空列表 mylist 執行 RPUSH mylist c ,得出的結果列表為 c ,等同於執行命令 RPUSH mylist a、 RPUSH mylist b 、 RPUSH mylist c 。

  LRANGE key start stop:返回列表 key 中指定區間內的元素,區間以偏移量 start 和 stop 指定。下標(index)參數 start 和 stop 都以 0 為底,也就是說,以 0 表示列表的第一個元素,以 1表示列表的第二個元素,以此類推。你也可以使用負數下標,以 -1 表示列表的最后一個元素, -2 表示列表的倒數第二個元素,以此類推。

  LPOP list:移除並返回列表 list的頭元素。

  RPOP list:移除並返回列表 key 的尾元素。

  LINDEX key:返回列表 key 中,下標為 index 的元素。下標(index)參數 start 和 stop 都以 0 為底,也就是說,以 0 表示列表的第一個元素,以 1表示列表的第二個元素,以此類推。你也可以使用負數下標,以 -1 表示列表的最后一個元素, -2 表示列表的倒數第二個元素,以此類推。如果 key 不是列表類型,返回一個錯誤。

  LLEN key:返回列表 key 的長度。如果 key 不存在,則 key 被解釋為一個空列表,返回 0 .如果 key 不是列表類型,返回一個錯誤。

  LREM key count value:根據參數 count 的值,移除列表中與參數 value 相等的元素。count 的值可以是以下幾種:

  • count 0 : 從表頭開始向表尾搜索,移除與 value 相等的元素,數量為 count 。
  • count 0 : 從表尾開始向表頭搜索,移除與 value 相等的元素,數量為 count 的絕對值。
  • count 0 : 移除表中所有與 value 相等的值。

  LTRIM key start stop:對一個列表進行修剪(trim),就是說,讓列表只保留指定區間內的元素,不在指定區間之內的元素都將被刪除。舉個例子,執行命令 LTRIM list 2 ,表示只保留列表 list 的前三個元素,其余元素全部刪除。下標(index)參數 start 和 stop 都以 0 為底,也就是說,以 0 表示列表的第一個元素,以 1表示列表的第二個元素,以此類推。你也可以使用負數下標,以 -1 表示列表的最后一個元素, -2 表示列表的倒數第二個元素,以此類推。當 key 不是列表類型時,返回一個錯誤。

  RPOPLPUSH source destinction:命令 RPOPLPUSH 在一個原子時間內,執行以下兩個動作:

  • 將列表 source 中的最后一個元素(尾元素)彈出,並返回給客戶端。
  • 將 source 彈出的元素插入到列表 destination ,作為 destination 列表的的頭元素。

  舉個例子,你有兩個列表 source 和 destination , source 列表有元素 a, b, c , destination 列表有元素 x, y, z ,執行 RPOPLPUSH source destination 之后, source 列表包含元素 a, b , destination 列表包含元素 c, x, y, z ,並且元素 c 會被返回給客戶端。如果 source 不存在,值 nil 被返回,並且不執行其他動作。如果 source 和 destination 相同,則列表中的表尾元素被移動到表頭,並返回該元素,可以把這種特殊情況視作列表的旋轉(rotation)操作。

  LSET key index value:將列表 key 下標為 index 的元素的值設置為 value 。當 index 參數超出范圍,或對一個空列表( key 不存在)進行 LSET 時,返回一個錯誤。

  LINSERT key before|after poive value:將值 value 插入到列表 key 當中,位於值 pivot 之前或之后。當 pivot 不存在於列表 key 時,不執行任何操作。當 key 不存在時, key 被視為空列表,不執行任何操作。如果 key 不是列表類型,返回一個錯誤。

 

四、set(不允許出現重復的元素):

  SADD key member[member......]: 將一個或多個 member 元素加入到集合 key 當中,已經存在於集合的 member 元素將被忽略。假如 key 不存在,則創建一個只包含 member 元素作成員的集合。

  SMEMBERS key:返回集合 key 中的所有成員。不存在的 key 被視為空集合。

  SISMEMBER key member:判斷 member 元素是否集合 key 的成員。

  SCARD key:返回集合 key 的基數(集合中元素的數量)。

  SREM key member[member]: 移除集合 key 中的一個或多個 member 元素,不存在的 member 元素會被忽略。

  SRANDMEMBER key[count]:如果命令執行時,只提供了 key 參數,那么返回集合中的一個隨機元素。

  • 如果 count 為正數,且小於集合基數,那么命令返回一個包含 count 個元素的數組,數組中的元素各不相同。如果 count 大於等於集合基數,那么返回整個集合。
  • 如果 count 為負數,那么命令返回一個數組,數組中的元素可能會重復出現多次,而數組的長度為 count 的絕對值。

  SPOP key:移除並返回集合中的一個隨機元素。

  SMOVE source destinction member:將 member 元素從 source 集合移動到 destination 集合。SMOVE 是原子性操作。如果 source 集合不存在或不包含指定的 member 元素,則 SMOVE 命令不執行任何操作,僅返回 0 。否則, member 元素從 source 集合中被移除,並添加到 destination 集合中去。當 destination 集合已經包含 member 元素時, SMOVE 命令只是簡單地將 source 集合中的 member 元素刪除。

  SDIFF key[key......]:返回一個集合的全部成員,該集合是所有給定集合之間的差集。

  SINTER key[key......]:返回一個集合的全部成員,該集合是所有給定集合的交集。

  SUNION key[key......]:返回一個集合的全部成員,該集合是所有給定集合的並集。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM