redis全局命令set、get、keys使用方法
生產(chǎn)環(huán)境
未來在工作中會涉及到的幾個環(huán)境:
- 辦公環(huán)境(入職后,公司給你發(fā)個電腦)
- 開發(fā)環(huán)境
- 有的時候,開發(fā)環(huán)境和辦公環(huán)境是一個(一般做前端和做客戶端)
- 有的時候,開發(fā)環(huán)境是一個單獨的服務(wù)器(一般做后端)
編譯一次時間特別久,使用高性能的服務(wù)器,進(jìn)行編譯
有的程序一啟動要消耗很多的 CPU 和內(nèi)存資源,辦公電腦難以支撐
有的程序比較依賴
Linux
,在其他環(huán)境下搭不起來
- 測試環(huán)境(測試工程師使用)
- 線上環(huán)境/生產(chǎn)環(huán)境
- 上面三個環(huán)境統(tǒng)稱“線下環(huán)境”,外界用戶無法訪問到的
- 線上環(huán)境則是外界用戶可以訪問到的
- 一旦生產(chǎn)環(huán)境上出現(xiàn)問題,一定會對用戶的使用產(chǎn)生影響,就會直接影響到公司營收
Redis 文檔
通過 redis-cli
客戶端和 redis
服務(wù)器交互,涉及到很多的 redis
命令(非常非常多)
- 掌握常用命令(多操作練習(xí))
- 學(xué)會使用
Redis
的文檔
最核心的兩個命令 get 和 set
Redis
是按照鍵值對的方式存儲數(shù)據(jù)的
get
:根據(jù)key
來取value
set
:把key
和value
存儲進(jìn)去
若想輸入 Redis
命令,就先要進(jìn)入 Redis
客戶端
使用方法
set key value
key
和 value
都必須是字符串(寫數(shù)字也行,會把你的數(shù)字看成字符串)
redis
中的命令不區(qū)分大小寫
get key
get
直接輸入key
就能得到value
- 如果當(dāng)前
key
不存在,就會返回nil
(和null/NULL
是一個意思)
全局命令
定義
Redis 支持很多種數(shù)據(jù)結(jié)構(gòu)。整體上來說,Redis 是鍵值對結(jié)構(gòu),key
固定就是字符串,value
實際上會有多種類型
- 字符串
- 哈希表
- 列表
- 集合
- 有序集合
操作上面不同的數(shù)據(jù)結(jié)構(gòu),就會有不同的命令。
而全局命令,就是可以搭配任意一個數(shù)據(jù)結(jié)構(gòu)來使用的命令
keys——查詢 key
用來查詢當(dāng)前服務(wù)器上匹配的 key
。
通過一些特殊符號(通配符)來描述 key
的模樣,匹配上述模樣的 key
就能被查詢出來
- 就是幫助我們看一下,當(dāng)前
Redis
上面有哪些key
語法:
keys pattern
pattern
: 包含特殊符號的字符串。有的地方翻譯成“樣式”或者“模式”。存在的意義,是去描述另外的字符串長啥樣的
pattern
比如,你找女朋友的要求是:
- 膚白
- 貌美
- 大長腿
那這些條件就是pattern
。又餓了這些條件之后,你就在你的追求者中進(jìn)行遍歷,看哪些符合這些條件,選出她們
?
:匹配任意一個字符,hello
,hollo
,hxllo
…*
:匹配任意個字符,heeeeelo
,hllo
…[ae]
:匹配指定字符,hallo
和hello
[^e]
:匹配除了指定字符的,hallo
,hgllo
…[a-b]
:匹配 a-b 這個范圍的,hallo
,hbllo
注意事項:
keys
命令的時間復(fù)雜度是 O ( N ) O(N)O(N),所以,在生產(chǎn)環(huán)境上,一般都會禁止使用 keys
命令,尤其是大殺器 keys *
- 生產(chǎn)環(huán)境上的
key
可能會非常多,而我們的Redis
是一個單線程服務(wù)器 - 就可能導(dǎo)致執(zhí)行
key *
實際愛你非常長,就使Redis
服務(wù)器被阻塞了,無法給其他客戶端提供服務(wù)
這樣的后果可能是災(zāi)難性的
Redis
經(jīng)常被用于做緩存,擋在MySQL
面前,替MySQL
負(fù)重前行。萬一Redis
被一個keys *
阻塞住了,此時其他的查詢Redis
操作就超時了,此時這些請求就會直接查詢數(shù)據(jù)庫,突然一大波請求過來了,MySQL 措手不及,就容易掛~- 整個系統(tǒng)就基本癱瘓了。
- 如果你要是沒有及時發(fā)現(xiàn),及時恢復(fù)的話,年終獎妥妥就沒了,更有甚者工作就沒了
總結(jié)
到此這篇關(guān)于redis全局命令set、get、keys使用方法的文章就介紹到這了,更多相關(guān)redis全局命令set、get、keys內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Window下對Redis進(jìn)行開啟與關(guān)閉的操作方法
這篇文章主要介紹了Window下對Redis進(jìn)行開啟與關(guān)閉的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-11-11