日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis key 相关命令

發(fā)布時(shí)間:2025/7/14 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis key 相关命令 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ?其實(shí)本質(zhì)上,Redis 就是一個(gè)Key---Value 數(shù)據(jù)庫。這里我先介紹下Redis中關(guān)于的key的相關(guān)命令,

注意:key是字符串存儲(chǔ),但是不能使用 空格 或者 “\n”,value 則可以使用任何字符串。(原因:\n 是命令的結(jié)束符,空格 是命令和參數(shù)的分隔符)

 下面key相關(guān)命令 以及 部分實(shí)例  

?

命令原型時(shí)間復(fù)雜度命令描述返回值
KEYS?patternO(N)時(shí)間復(fù)雜度中的N表示數(shù)據(jù)庫中Key的數(shù)量。獲取所有匹配pattern參數(shù)的Keys。需要說明的是,在我們的正常操作中應(yīng)該盡量避免對(duì)該命令的調(diào)用,因?yàn)閷?duì)于大型數(shù)據(jù)庫而言,該命令是非常耗時(shí)的,對(duì)Redis服務(wù)器的性能打擊也是比較大的。pattern支持glob-style的通配符格式,如*表示任意一個(gè)或多個(gè)字符,?表示任意字符,[abc]表示方括號(hào)中任意一個(gè)字母。匹配模式的鍵列表。
DEL?key [key ...]O(N)時(shí)間復(fù)雜度中的N表示刪除的Key數(shù)量。從數(shù)據(jù)庫刪除中參數(shù)中指定的keys,如果指定鍵不存在,則直接忽略。還需要另行指出的是,如果指定的Key關(guān)聯(lián)的數(shù)據(jù)類型不是String類型,而是List、Set、Hashes和Sorted Set等容器類型,該命令刪除每個(gè)鍵的時(shí)間復(fù)雜度為O(M),其中M表示容器中元素的數(shù)量。而對(duì)于String類型的Key,其時(shí)間復(fù)雜度為O(1)。實(shí)際被刪除的Key數(shù)量。
EXISTS?key?O(1)判斷指定鍵是否存在。1表示存在,0表示不存在。
MOVE?key db?O(1)將當(dāng)前數(shù)據(jù)庫中指定的鍵Key移動(dòng)到參數(shù)中指定的數(shù)據(jù)庫中。如果該Key在目標(biāo)數(shù)據(jù)庫中已經(jīng)存在,或者在當(dāng)前數(shù)據(jù)庫中并不存在,該命令將不做任何操作并返回0。 ?移動(dòng)成功返回1,否則0。
RENAME?key newkey?O(1)為指定指定的鍵重新命名,如果參數(shù)中的兩個(gè)Keys的命令相同,或者是源Key不存在,該命令都會(huì)返回相關(guān)的錯(cuò)誤信息。如果newKey已經(jīng)存在,則直接覆蓋。??
RENAMENX?key newkeyO(1)如果新值不存在,則將參數(shù)中的原值修改為新值。其它條件和RENAME一致。1表示修改成功,否則0。
PERSIST?keyO(1)如果Key存在過期時(shí)間,該命令會(huì)將其過期時(shí)間消除,使該Key不再有超時(shí),而是可以持久化存儲(chǔ)。1表示Key的過期時(shí)間被移出,0表示該Key不存在或沒有過期時(shí)間。
EXPIRE?key seconds?O(1)?該命令為參數(shù)中指定的Key設(shè)定超時(shí)的秒數(shù),在超過該時(shí)間后,Key被自動(dòng)的刪除。如果該Key在超時(shí)之前被修改,與該鍵關(guān)聯(lián)的超時(shí)將被移除。?1表示超時(shí)被設(shè)置,0則表示Key不存在,或不能被設(shè)置。
EXPIREAT?key timestamp?O(1)?該命令的邏輯功能和EXPIRE完全相同,唯一的差別是該命令指定的超時(shí)時(shí)間是絕對(duì)時(shí)間,而不是相對(duì)時(shí)間。該時(shí)間參數(shù)是Unix timestamp格式的,即從1970年1月1日開始所流經(jīng)的秒數(shù)。1表示超時(shí)被設(shè)置,0則表示Key不存在,或不能被設(shè)置。?
TTL?key?O(1)獲取該鍵所剩的超時(shí)描述。?返回所剩描述,如果該鍵不存在或沒有超時(shí)設(shè)置,則返回-1。
RANDOMKEYO(1) ?從當(dāng)前打開的數(shù)據(jù)庫中隨機(jī)的返回一個(gè)Key。返回的隨機(jī)鍵,如果該數(shù)據(jù)庫是空的則返回nil。
TYPE?key?O(1)?獲取與參數(shù)中指定鍵關(guān)聯(lián)值的類型,該命令將以字符串的格式返回。返回的字符串為string、list、set、hash和zset,如果key不存在返回none。
SORT?key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]?O(N+M*log(M))?這個(gè)命令相對(duì)來說是比較復(fù)雜的,因此我們這里只是給出最基本的用法,有興趣的網(wǎng)友可以去參考redis的官方文檔。返回排序后的原始列表。

使用比較頻繁的,來幾個(gè)實(shí)例:

1. 顯示 所有key ,(按照匹配模式顯示)注意是 keys

127.0.0.1:6379> keys *1) "13326832f534f02d5829ad1a78c1ebbf"2) "age"3) "d58b02fe801a4313be49ab4d29f5d687"4) "e68178c7159ff3ccd394cdab52a639d2"5) "key_project_107" .....

2。某個(gè)key是否存在?

redis 127.0.0.1:6379> exists mouge

3.刪除某個(gè)可以

redis 127.0.0.1:6379> del mouge

4.設(shè)置一個(gè)key的過期時(shí)間(單位:秒):

 redis 127.0.0.1:6379> expire mouge 10

5.移除給定key的過期時(shí)間:

  redis 127.0.0.1:6379[1]> expire age 300

  (integer) 1

  redis 127.0.0.1:6379[1]> ttl age

  (integer) 294

  redis 127.0.0.1:6379[1]> persist age

  (integer) 1

  redis 127.0.0.1:6379[1]> ttl age

  (integer) -1

 6.重命名key:

  redis 127.0.0.1:6379[1]> keys *

  1) mouge

  redis 127.0.0.1:6379[1]> rename mouge mouge_2

  OK

  redis 127.0.0.1:6379[1]> keys *

  1) mouge_2

 mouge成功的被我們改名為mouge_2了。

9、type

  返回值的類型:

  redis 127.0.0.1:6379> type addr

  string

  redis 127.0.0.1:6379> type myzset2

  zset

  redis 127.0.0.1:6379> type mylist

  list

  redis 127.0.0.1:6379>

  這個(gè)方法可以非常簡(jiǎn)單的判斷出值的類型。

?

轉(zhuǎn)載于:https://www.cnblogs.com/guixiaoming/p/5458277.html

總結(jié)

以上是生活随笔為你收集整理的Redis key 相关命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。