欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:數(shù)據(jù)庫 Redis通用命令詳解

柚子快報激活碼778899分享:數(shù)據(jù)庫 Redis通用命令詳解

http://yzkb.51969.com/

文章目錄

一、Redis概述1.1 KEYS:查看符合模板的所有 key1.2 DEL:刪除一個指定的 key1.3 EXISTS:判斷 key 是否存在1.4 EXPIRE:給一個 key 設置有效期,有效期到期時該 key 會被自動刪除1.5 TTL:查看一個 key 的剩余有效期1.6 COPY:復制 Redis 數(shù)據(jù)庫中的數(shù)據(jù)到另一個數(shù)據(jù)庫中1.7 MOVE:將 Redis 中的指定鍵移動到另一個數(shù)據(jù)庫中1.8 TOUCH:修改指定鍵的最后訪問時間1.9 RENAME: 修改一個鍵的名稱1.10 RENAMENX:新名稱的鍵不存在時執(zhí)行修改1.11 TYPE:返回鍵所存儲的值的類型1.12 PERSIST:移除 Redis 鍵的過期時間

一、Redis概述

Redis概述

1.1 KEYS:查看符合模板的所有 key

KEYS 命令在處理大量數(shù)據(jù)時可能會影響 Redis 服務器的性能,因為它會遍歷所有 key 來尋找匹配的項。

在生產(chǎn)環(huán)境中,應該謹慎使用 KEYS 命令,尤其是在數(shù)據(jù)量巨大的情況下。

redis> MSET firstname Jack lastname Stuntman age 35

"OK"

redis> KEYS *name*

1) "lastname"

2) "firstname"

redis> KEYS a??

1) "age"

redis> KEYS *

1) "lastname"

2) "age"

3) "firstname"

redis>

首先使用 MSET 命令設置了多個 key-value 對,分別為 firstname、lastname 和 age。然后使用 KEYS 命令查找符合指定模式的 key。

第一個 KEYS 命令使用模式 *name*,返回所有包含 “name” 的 key,即 lastname 和 firstname。第二個 KEYS 命令使用模式 a??,返回所有以字母 “a” 開頭并且后面有兩個字符的 key,即 age。最后一個 KEYS 命令使用模式 *,返回所有存在的 key,即 lastname、age 和 firstname。

1.2 DEL:刪除一個指定的 key

在 Redis 中,DEL 命令用于刪除指定的 key,并返回成功刪除的 key 的數(shù)量。

redis> SET key1 "Hello"

"OK"

redis> SET key2 "World"

"OK"

redis> DEL key1 key2 key3

(integer) 2

redis>

使用 DEL 命令刪除了兩個 key,即 key1 和 key2。因為這兩個 key 存在且被成功刪除,所以返回的結果是 (integer) 2。

如果執(zhí)行 DEL 命令刪除了不存在的 key,那么返回的結果將是 (integer) 0,表示沒有成功刪除任何 key。

1.3 EXISTS:判斷 key 是否存在

EXISTS 命令用于判斷給定的 key 是否存在于 Redis 中。它可以同時接受多個 key,并返回存在的 key 的數(shù)量。如果 key 存在,則返回 1;如果 key 不存在,則返回 0。

redis> SET key1 "Hello"

"OK"

redis> EXISTS key1

(integer) 1

redis> EXISTS nosuchkey

(integer) 0

redis> SET key2 "World"

"OK"

redis> EXISTS key1 key2 nosuchkey

(integer) 2

redis>

使用 SET 命令分別設置了 key1 和 key2 的值。然后使用 EXISTS 命令來檢查指定的 key 是否存在。

第一個 EXISTS 命令執(zhí)行 EXISTS key1,返回結果為 (integer) 1,表示 key1 存在。第二個 EXISTS 命令執(zhí)行 EXISTS nosuchkey,返回結果為 (integer) 0,表示 nosuchkey 不存在。接下來執(zhí)行 EXISTS key1 key2 nosuchkey,返回結果為 (integer) 2,表示其中兩個 key 存在,即 key1 和 key2,而 nosuchkey 不存在。

Tips: 如果在參數(shù)中多次提到相同的現(xiàn)有鍵,它將被計算多次。如果somekey存在,exists somekey somekey將返回2。

1.4 EXPIRE:給一個 key 設置有效期,有效期到期時該 key 會被自動刪除

EXPIRE key seconds [NX | XX | GT | LT]

key:要設置過期時間的鍵名。 seconds:過期時間,單位為秒。鍵在指定秒數(shù)后將會被自動刪除。 NX:(可選)僅在鍵不存在時設置過期時間。 XX:(可選)僅在鍵已存在時設置過期時間。 GT:(可選)僅在鍵的當前過期時間大于給定過期時間時設置過期時間。 LT:(可選)僅在鍵的當前過期時間小于給定過期時間時設置過期時間。 當 NX 和 XX 選項都未指定時,默認行為是設置鍵的過期時間,如果鍵不存在則創(chuàng)建鍵并設置過期時間。 NX 和 XX 選項可以與 GT 或 LT 選項結合使用,從而提供更精確的過期時間控制。

設置鍵 mykey 在 60 秒后過期: EXPIRE mykey 60

僅當鍵 mykey 存在時,設置它在 120 秒后過期: EXPIRE mykey 120 XX

僅當鍵 mykey 不存在時,設置它在 300 秒后過期: EXPIRE mykey 300 NX

僅當鍵 mykey 的當前過期時間大于 180 秒時,設置它在 180 秒后過期: EXPIRE mykey 180 GT

僅當鍵 mykey 的當前過期時間小于 240 秒時,設置它在 240 秒后過期: EXPIRE mykey 240 LT

redis> SET mykey "Hello"

"OK"

redis> EXPIRE mykey 10

(integer) 1

redis> TTL mykey

(integer) 10

redis> SET mykey "Hello World"

"OK"

redis> TTL mykey

(integer) -1

redis> EXPIRE mykey 10 XX

(integer) 0

redis> TTL mykey

(integer) -1

redis> EXPIRE mykey 10 NX

(integer) 1

redis> TTL mykey

(integer) 10

redis>

1.5 TTL:查看一個 key 的剩余有效期

TTL 命令用于獲取 Redis 鍵的剩余生存時間(Time To Live,TTL)。

TTL key

key:要查詢剩余生存時間的鍵名。

返回值

redis> SET mykey "Hello"

"OK"

redis> EXPIRE mykey 10

(integer) 1

redis> TTL mykey

(integer) 10

redis>

返回鍵的剩余生存時間(TTL):

如果鍵不存在或者鍵沒有設置過期時間,返回 -1。如果鍵存在且設置了過期時間,返回剩余生存時間的秒數(shù)。 返回 -1 表示鍵不存在或者鍵沒有設置過期時間。 返回 0 表示鍵存在并且沒有剩余生存時間,即鍵已經(jīng)過期。 TTL 返回的時間單位是秒。

1.6 COPY:復制 Redis 數(shù)據(jù)庫中的數(shù)據(jù)到另一個數(shù)據(jù)庫中

COPY 命令用于復制 Redis 數(shù)據(jù)庫中的數(shù)據(jù)到另一個數(shù)據(jù)庫中。

COPY source destination [DB destination-db] [REPLACE]

source:要復制數(shù)據(jù)的源鍵名。 destination:目標鍵名,復制后的數(shù)據(jù)將存儲在這個鍵中。 DB destination-db:(可選)目標數(shù)據(jù)庫的索引號。默認為 0(即默認數(shù)據(jù)庫)。 REPLACE:(可選)如果目標鍵 destination 已存在且有數(shù)據(jù),使用 REPLACE 選項將會覆蓋現(xiàn)有數(shù)據(jù)。如果未指定 REPLACE,并且目標鍵已存在,則 COPY 命令將會失敗。 source 和 destination 參數(shù)必須是有效的鍵名。 可以指定一個不同的目標數(shù)據(jù)庫索引號,使數(shù)據(jù)被復制到該索引號對應的數(shù)據(jù)庫中。 使用 REPLACE 選項可以在目標鍵已存在時覆蓋現(xiàn)有數(shù)據(jù),否則命令會失敗。

示例

將鍵 mykey 中的數(shù)據(jù)復制到鍵 mykey_copy 中: COPY mykey mykey_copy

將鍵 mylist 中的數(shù)據(jù)復制到鍵 mylist_backup 中,并指定目標數(shù)據(jù)庫索引號為 1: COPY mylist mylist_backup DB 1

將鍵 myset 中的數(shù)據(jù)復制到鍵 myset_new 中,如果 myset_new 已存在則覆蓋現(xiàn)有數(shù)據(jù): COPY myset myset_new REPLACE

1.7 MOVE:將 Redis 中的指定鍵移動到另一個數(shù)據(jù)庫中

MOVE 命令用于將 Redis 中的指定鍵移動到另一個數(shù)據(jù)庫中。

MOVE key db

key:要移動的鍵名。 db:目標數(shù)據(jù)庫的索引號,用于指定移動到哪個數(shù)據(jù)庫中。 key 參數(shù)是要移動的鍵名,必須存在于當前數(shù)據(jù)庫中。 db 參數(shù)是目標數(shù)據(jù)庫的索引號,用于指定移動到哪個數(shù)據(jù)庫中。索引號從 0 開始,Redis 默認支持 16 個數(shù)據(jù)庫,可以通過配置進行擴展。

將鍵 mykey 移動到數(shù)據(jù)庫索引號為 1 的數(shù)據(jù)庫中: MOVE mykey 1

如果目標數(shù)據(jù)庫 db 不存在(例如超過了默認的 0 到 15 的范圍),那么 MOVE 命令會返回錯誤。 如果鍵 key 已經(jīng)存在于目標數(shù)據(jù)庫 db 中,那么 MOVE 命令將無效,不會導致任何數(shù)據(jù)移動。 當鍵成功移動到目標數(shù)據(jù)庫時,返回 1。 如果鍵已經(jīng)存在于目標數(shù)據(jù)庫中,或者數(shù)據(jù)庫索引號超出范圍,返回 0。

1.8 TOUCH:修改指定鍵的最后訪問時間

在 Redis 中,TOUCH 命令用于修改指定鍵的最后訪問時間(last access time),從而更新鍵的過期時間。

TOUCH key [key ...]

key:一個或多個要更新最后訪問時間的鍵名。 key 參數(shù)是一個或多個鍵名,用空格分隔。 TOUCH 命令主要用于更新 Redis 鍵的最后訪問時間:

持久化存儲:如果鍵設置了過期時間,通過 TOUCH 命令可以防止 Redis 自動清除這些鍵。活躍用戶追蹤:可以用于跟蹤哪些鍵最近被訪問,用作活躍用戶的標記或統(tǒng)計。LRU(最近最少使用)策略:Redis 在使用 LRU 策略管理內(nèi)存時,可以通過 TOUCH 命令更新鍵的訪問時間,從而影響鍵的淘汰順序。

更新鍵 mykey 的最后訪問時間: TOUCH mykey

更新多個鍵的最后訪問時間: TOUCH key1 key2 key3

TOUCH 命令僅更新鍵的最后訪問時間,不改變鍵的值或其他屬性。如果指定的鍵不存在,TOUCH 命令會忽略該鍵,不會報錯。TOUCH 命令可以用于確保鍵不會在達到過期時間后被 Redis 主動清理,適用于需要持久化存儲的場景。

返回值

redis> SET key1 "Hello"

"OK"

redis> SET key2 "World"

"OK"

redis> TOUCH key1 key2

(integer) 2

redis>

返回更新的鍵數(shù)目,即成功更新了多少個鍵的最后訪問時間。

1.9 RENAME: 修改一個鍵的名稱

在 Redis 中,RENAME 命令用于修改一個鍵的名稱。

RENAME key newkey

key:要修改名稱的鍵名。 newkey:鍵的新名稱。 RENAME 命令用于將一個鍵的名稱修改為新的名稱。如果新的鍵名已經(jīng)存在,則會覆蓋原有鍵的值。

將鍵 mykey 的名稱修改為 newkey: RENAME mykey newkey

如果鍵 key 不存在,則 RENAME 命令會返回錯誤。如果鍵 newkey 已經(jīng)存在,它的值將被覆蓋。

返回值

redis> SET mykey "Hello"

"OK"

redis> RENAME mykey myotherkey

"OK"

redis> GET myotherkey

"Hello"

redis>

當命令成功執(zhí)行時,返回 OK。

1.10 RENAMENX:新名稱的鍵不存在時執(zhí)行修改

在 Redis 中,RENAMENX 命令用于將一個鍵的名稱修改為新的名稱,但只在新名稱的鍵不存在時執(zhí)行修改。

RENAMENX key newkey

key:要修改名稱的鍵名。 newkey:鍵的新名稱。 RENAMENX 命令會檢查新名稱 newkey 是否已經(jīng)存在。 如果 newkey 已經(jīng)存在,則不執(zhí)行任何操作,返回 0。 如果 newkey 不存在,則將 key 的名稱修改為 newkey。 如果 key 不存在,則 RENAMENX 命令會返回錯誤。 RENAMENX 命令是原子操作,即在執(zhí)行過程中不會出現(xiàn)部分成功的情況。

redis> SET mykey "Hello"

"OK"

redis> SET myotherkey "World"

"OK"

redis> RENAMENX mykey myotherkey

(integer) 0

redis> GET myotherkey

"World"

redis>

當成功將 key 的名稱修改為 newkey 時,返回 1。如果 newkey 已經(jīng)存在,沒有執(zhí)行修改操作,則返回 0。

1.11 TYPE:返回鍵所存儲的值的類型

TYPE 命令用于返回鍵所存儲的值的類型。

TYPE key

key:要查詢類型的鍵名。

redis> SET key1 "value"

"OK"

redis> LPUSH key2 "value"

(integer) 1

redis> SADD key3 "value"

(integer) 1

redis> TYPE key1

"string"

redis> TYPE key2

"list"

redis> TYPE key3

"set"

redis>

返回值

返回鍵存儲值的類型,可能的返回值有:

"none":鍵不存在。"string":字符串類型。"list":列表類型。"set":集合類型。"zset":有序集合類型。"hash":哈希類型。"stream":流類型。

注意事項

如果鍵不存在,命令會返回 "none"。如果鍵存儲的值類型不在預期范圍內(nèi),可能是由于該鍵已被其他操作修改。在 Redis 中,同一個鍵可以在不同時間存儲不同類型的值。

1.12 PERSIST:移除 Redis 鍵的過期時間

PERSIST 命令用于移除 Redis 鍵的過期時間,使得鍵成為永久有效的,不再自動過期。

PERSIST key

key:要移除過期時間的鍵名。

返回值

redis> SET mykey "Hello"

"OK"

redis> EXPIRE mykey 10

(integer) 1

redis> TTL mykey

(integer) 10

redis> PERSIST mykey

(integer) 1

redis> TTL mykey

(integer) -1

redis>

如果成功移除過期時間,返回 1。如果鍵不存在過期時間,或者鍵不存在,返回 0。

注意事項

只有帶有過期時間的鍵才能使用 PERSIST 命令來移除過期時間。如果鍵之前已經(jīng)被設置為永不過期(即沒有設置過期時間),PERSIST 命令會返回 0。移除過期時間后,鍵將永久存在于 Redis 中,直到顯式刪除。

更多的通用命令可以去官網(wǎng)https://redis.io/docs/latest/commands/?group=generic查看哦~

柚子快報激活碼778899分享:數(shù)據(jù)庫 Redis通用命令詳解

http://yzkb.51969.com/

文章來源

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19346699.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄