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

首頁綜合 正文
目錄

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

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

http://yzkb.51969.com/

文章目錄

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

一、Redis概述

Redis概述

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

KEYS 命令在處理大量數(shù)據(jù)時(shí)可能會(huì)影響 Redis 服務(wù)器的性能,因?yàn)樗鼤?huì)遍歷所有 key 來尋找匹配的項(xiàng)。

在生產(chǎn)環(huán)境中,應(yīng)該謹(jǐ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 命令設(shè)置了多個(gè) key-value 對,分別為 firstname、lastname 和 age。然后使用 KEYS 命令查找符合指定模式的 key。

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

1.2 DEL:刪除一個(gè)指定的 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 命令刪除了兩個(gè) key,即 key1 和 key2。因?yàn)檫@兩個(gè) key 存在且被成功刪除,所以返回的結(jié)果是 (integer) 2。

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

1.3 EXISTS:判斷 key 是否存在

EXISTS 命令用于判斷給定的 key 是否存在于 Redis 中。它可以同時(shí)接受多個(gè) 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 命令分別設(shè)置了 key1 和 key2 的值。然后使用 EXISTS 命令來檢查指定的 key 是否存在。

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

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

1.4 EXPIRE:給一個(gè) key 設(shè)置有效期,有效期到期時(shí)該 key 會(huì)被自動(dòng)刪除

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

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

設(shè)置鍵 mykey 在 60 秒后過期: EXPIRE mykey 60

僅當(dāng)鍵 mykey 存在時(shí),設(shè)置它在 120 秒后過期: EXPIRE mykey 120 XX

僅當(dāng)鍵 mykey 不存在時(shí),設(shè)置它在 300 秒后過期: EXPIRE mykey 300 NX

僅當(dāng)鍵 mykey 的當(dāng)前過期時(shí)間大于 180 秒時(shí),設(shè)置它在 180 秒后過期: EXPIRE mykey 180 GT

僅當(dāng)鍵 mykey 的當(dāng)前過期時(shí)間小于 240 秒時(shí),設(shè)置它在 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:查看一個(gè) key 的剩余有效期

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

TTL key

key:要查詢剩余生存時(shí)間的鍵名。

返回值

redis> SET mykey "Hello"

"OK"

redis> EXPIRE mykey 10

(integer) 1

redis> TTL mykey

(integer) 10

redis>

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

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

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

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

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

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

示例

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

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

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

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

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

MOVE key db

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

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

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

1.8 TOUCH:修改指定鍵的最后訪問時(shí)間

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

TOUCH key [key ...]

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

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

更新鍵 mykey 的最后訪問時(shí)間: TOUCH mykey

更新多個(gè)鍵的最后訪問時(shí)間: TOUCH key1 key2 key3

TOUCH 命令僅更新鍵的最后訪問時(shí)間,不改變鍵的值或其他屬性。如果指定的鍵不存在,TOUCH 命令會(huì)忽略該鍵,不會(huì)報(bào)錯(cuò)。TOUCH 命令可以用于確保鍵不會(huì)在達(dá)到過期時(shí)間后被 Redis 主動(dòng)清理,適用于需要持久化存儲(chǔ)的場景。

返回值

redis> SET key1 "Hello"

"OK"

redis> SET key2 "World"

"OK"

redis> TOUCH key1 key2

(integer) 2

redis>

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

1.9 RENAME: 修改一個(gè)鍵的名稱

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

RENAME key newkey

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

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

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

返回值

redis> SET mykey "Hello"

"OK"

redis> RENAME mykey myotherkey

"OK"

redis> GET myotherkey

"Hello"

redis>

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

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

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

RENAMENX key newkey

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

redis> SET mykey "Hello"

"OK"

redis> SET myotherkey "World"

"OK"

redis> RENAMENX mykey myotherkey

(integer) 0

redis> GET myotherkey

"World"

redis>

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

1.11 TYPE:返回鍵所存儲(chǔ)的值的類型

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

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>

返回值

返回鍵存儲(chǔ)值的類型,可能的返回值有:

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

注意事項(xiàng)

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

1.12 PERSIST:移除 Redis 鍵的過期時(shí)間

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

PERSIST key

key:要移除過期時(shí)間的鍵名。

返回值

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>

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

注意事項(xiàng)

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

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

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

http://yzkb.51969.com/

文章來源

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

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

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

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

發(fā)布評論

您暫未設(shè)置收款碼

請?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄