中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

動態(tài)網(wǎng)站制作視頻教程軟件優(yōu)化

動態(tài)網(wǎng)站制作視頻教程,軟件優(yōu)化,大慶開發(fā)網(wǎng)站公司,什么網(wǎng)站可以做告白的網(wǎng)頁版目錄 Redis通用命令Redis中最核心的兩個命令getset Redis全局命令keys語法注意事項 existsdel(delete)expirettlredis的key的過期策略是怎么實現(xiàn)的?了解拓展 type總結(jié) Redis通用命令 Redis的命令非常非常多,所以 1. 掌握常用命令(多操作練習(xí)…

目錄

  • Redis通用命令
      • Redis中最核心的兩個命令
        • get
        • set
      • Redis全局命令
        • keys
          • 語法
          • 注意事項
        • exists
        • del(delete)
        • expire
        • ttl
        • redis的key的過期策略是怎么實現(xiàn)的?
          • 了解拓展
        • type
        • 總結(jié)

Redis通用命令

Redis的命令非常非常多,所以

1. 掌握常用命令(多操作練習(xí))
2. 學(xué)會使用Redis的文檔

Redis官方鏈接
在這里插入圖片描述

Redis中最核心的兩個命令

get
根據(jù)key來取value
set
把key和value存儲進(jìn)去
key和value本質(zhì)都是字符串

必須要進(jìn)入redis客戶端才能執(zhí)行redis命令

set key value

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳

redis中的命令不區(qū)分大小寫

get key

get命令直接輸入key就能得到value,如果當(dāng)前key不存在,會返回一個nui 和 null/NULL是一個意思

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳

Redis全局命令

Redis支持很多種數(shù)據(jù)結(jié)構(gòu),整體來說Redis是鍵值對結(jié)構(gòu),key固定就是字符串,value實際上會有很多種類型(常用的有 字符串,哈希表,列表,集合,有序集合)————操作不同的數(shù)據(jù)結(jié)構(gòu),就會有不同的命令

全局命令,就是能夠任意搭配任意一個數(shù)據(jù)結(jié)構(gòu)來使用的命令

keys

用來查詢當(dāng)前服務(wù)器上匹配的key,通過一些特殊符號(通配符)來描述key的模樣,匹配上述模樣的key就能被查詢出來

語法
keys pattern/*pattern 用來描述另外的字符串是長什么樣的
具體寫法,支持那些通配符?
1. ? 匹配任意一個字符
2. * 匹配0個或者多個任意字符
3. [abcde] 只能匹配到a,b,c,d,e
4. [^e] 排除e,只有e匹配不了,其他的都能匹配
5. [a-b] 匹配a-b這個范圍內(nèi)的字符,包含兩側(cè)邊界
*/

在這里插入圖片描述

  1. 匹配任意一個字符

    在這里插入圖片描述

  2. *** ** 匹配0個或者多個任意字符

    在這里插入圖片描述

  3. [abcde] 只能匹配到a,b,c,d,e

在這里插入圖片描述

  1. [^e] 排除e,只有e匹配不了,其他的都能匹配
    在這里插入圖片描述

  2. [a-b] 匹配a-b這個范圍內(nèi)的字符,包含兩側(cè)邊界

在這里插入圖片描述

注意事項
keys的時間復(fù)雜度為O(n),所以,在生產(chǎn)環(huán)境上,一般都會禁止使用keys命令,尤其是keys
生產(chǎn)環(huán)境上的keys可能會非常的多,而redis是一個單線程的服務(wù)器,執(zhí)行keys*的時間非常長,就導(dǎo)致redis服務(wù)器被阻塞了,無法給其他客戶端提供服務(wù)
redis經(jīng)常會用于做緩存,擋在mysql的前面,玩意Redis被一個kesy*阻塞住,此時其他的redis操作就超時了,此時這些請求就會直接查數(shù)據(jù)庫,突然有一大波請求過來,mysql措手不及,就容易掛,從而導(dǎo)致整個系統(tǒng)直接癱瘓
exists
EXISTS key [key ...] 判斷某個key是否存在
返回值:key存在的個數(shù)。  針對多個key來說是非常有用的
時間復(fù)雜度 O(1) ————> redis組織這些key就是按照哈希表的方式來組織的 相當(dāng)于unordered_map<key,value>

在這里插入圖片描述

del(delete)
DEL key [key ...] 刪除指定的key,可以一次刪除一個或者多個在之前學(xué)mysql的時候,刪除類的操作,就很危險,一旦刪除了之后,數(shù)據(jù)局就沒了
但是redis主要的應(yīng)用場景,就是作為緩存,此時 redis里存的只是熱點數(shù)據(jù)
全量數(shù)據(jù)存在mysql數(shù)據(jù)庫中,此時如果把redis中的key刪除了幾個,一般來說問題不大
如果把redis作為數(shù)據(jù)庫,此時誤刪數(shù)據(jù)影響就大了

在這里插入圖片描述

expire
EXPIRE key seconds
時間復(fù)雜度 O(1)
返回值:1表示成功,0表示設(shè)置失敗
設(shè)置毫秒:  pexpire key ms
作用是給指定的key設(shè)置過期時間,key存活時間超出這個指定的值,就會被自動刪除
比如手機(jī)驗證碼,幾分鐘內(nèi)有效,就可以用到,還有外賣優(yōu)惠券,在指定時間之內(nèi)有效等

在這里插入圖片描述

ttl

TTL key

獲取指定的過期時間

返回值:剩余的過期時間。 -1表示沒有關(guān)聯(lián)過期時間,-2表示key不存在

redis的key的過期策略是怎么實現(xiàn)的?

一個redis中可能同時存在很多很多key,這些key中可能有很大一部分都有過期時間,此時,redis服務(wù)器咋知道哪些key已經(jīng)過期要被刪除,哪些key還沒過期?

如果直接遍歷所有的key,顯然是行不通的,效率非常低

Redis整體的策略是:

  • 定期刪除

  • ? +

  • 惰性刪除

  1. 什么叫惰性刪除,假設(shè)這個key已經(jīng)到時間了,但是暫時還沒刪除它,key還存在,緊接著后面又一次訪問正好用到了這個key,于是這次訪問會讓redis服務(wù)器觸發(fā)刪除key的操作,同時返回一個nil——————感覺這種方式有點像單例模式里的懶漢模式
  2. 為什么對于定期刪除的時間,有明確的要求? 因為redis是單線程的程序,如果掃描過期key消耗的時間太長,正常處理請求命令就被阻塞了
  3. 雖然有了這兩種策略結(jié)合,但是整體效果一般,仍然會有很多過期的key殘留,沒有及時刪除掉,所以redis為了對上述進(jìn)行補(bǔ)充,還提供了一系列的內(nèi)存淘汰策略
了解拓展

定時刪除:設(shè)置定時器,在時間到了之后,對其刪除。

  • redis中并沒有采取定時器的方式來實現(xiàn)過期key的刪除,所以定期刪除和定時器并沒有關(guān)系

定時器:在某個時間到達(dá)之后,執(zhí)行指定的任務(wù)

實現(xiàn)方式:

  1. 基于優(yōu)先級隊列/堆

在redis過期key的場景中,就可以通過“過期時間越早,優(yōu)先級越高”,過期時間早的,先出隊列。也就意味著,此時定時器中只要分配一個線程,讓這個線程去檢查隊首元素,看是否過期即可,如果隊首元素還沒過期,后續(xù)元素一定沒有過期。掃描線程不需要遍歷所有的key,只盯住這一個隊首元素即可;另外在掃描線程檢查隊首元素過期時間的時候,也不能檢查的太頻繁,此時做法就可以根據(jù)當(dāng)前時刻和隊首元素的過期時間,設(shè)置一個等待時間,等時間差不多到了,系統(tǒng)再喚醒在這個線程?!?gt;此時掃描線程不需要高頻掃描隊首元素,把CPU的開銷也省了下來。

  1. 基于時間輪實現(xiàn)的定時器

把時間劃分成很多小段,沒小段上都掛著一個鏈表,每個鏈表都代表一個要執(zhí)行的任務(wù)(相當(dāng)于一個函數(shù)指針),每次走到一個格子,就會把這個格子上的鏈表的任務(wù)嘗試執(zhí)行以下。

Redis并沒有采取上述的方案

type
語法:TYPE key
時間復(fù)雜度:O(1)
返回值:key對應(yīng)的vualue的數(shù)據(jù)類型[none,string,list,set,zset,hash,stream,...]

在這里插入圖片描述

總結(jié)
  • keys:用來查看匹配規(guī)則的key
  • exists:用來判定指定key是否存在
  • del:刪除指定的key
  • expire:給key設(shè)置過期時間
  • ttl:查詢key的過期時間
  • type:查詢key對應(yīng)的value的類型
http://www.risenshineclean.com/news/52745.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)的內(nèi)容中國唯一沒有疫情的地方
  • 關(guān)方網(wǎng)站買微信騰訊朋友圈廣告怎么投放
  • 網(wǎng)站目錄架構(gòu)網(wǎng)站死鏈檢測工具
  • 士兵突擊網(wǎng)站怎么做網(wǎng)絡(luò)域名
  • 二級網(wǎng)站建設(shè)比較好用的搜索引擎
  • 湖南seo網(wǎng)站設(shè)計友情鏈接如何添加
  • 珠海網(wǎng)站建設(shè)優(yōu)化推廣班級優(yōu)化大師官網(wǎng)
  • 在哪里自己建設(shè)網(wǎng)站杭州網(wǎng)站建設(shè)方案優(yōu)化
  • 網(wǎng)站測試有哪些主要工作市場營銷
  • 上海公司注冊網(wǎng)站網(wǎng)址查詢
  • 無錫市建設(shè)培訓(xùn)中心網(wǎng)站百度關(guān)鍵詞排名怎么做
  • 做公眾好號的網(wǎng)站百度seo 優(yōu)化
  • 程序員除了做軟件是不是就做網(wǎng)站個人開發(fā)app去哪里接廣告
  • 備案 網(wǎng)站名稱什么用湖北權(quán)威的百度推廣
  • 怎么做黑客把網(wǎng)站余額更改企業(yè)網(wǎng)站seo推廣方案
  • 做自己的網(wǎng)站花多錢2345網(wǎng)址導(dǎo)航桌面版
  • 如何做網(wǎng)站插件無限制搜索引擎排名
  • 正規(guī)的合肥網(wǎng)站建設(shè)商家推廣平臺有哪些
  • 住房與城鄉(xiāng)建設(shè)部網(wǎng)站職責(zé)營銷策劃案例
  • 免費微商城平臺官網(wǎng)最優(yōu)化方法
  • 網(wǎng)站怎么做導(dǎo)航條新聞發(fā)布會稿件
  • wordpress加授權(quán)網(wǎng)絡(luò)優(yōu)化的基本方法
  • 用rp怎么做網(wǎng)站按鈕下拉菜單百度移動首頁
  • 簡述網(wǎng)站建設(shè)優(yōu)劣的評價標(biāo)準(zhǔn)外貿(mào)營銷網(wǎng)站
  • 網(wǎng)站免費虛擬空間3小時百度收錄新站方法
  • 軟件開發(fā)是編程嗎windows優(yōu)化大師怎么用
  • 鄭州聯(lián)通網(wǎng)站備案百度競價推廣價格
  • 博樂建設(shè)工程信息網(wǎng)站南昌百度seo
  • 自學(xué)做網(wǎng)站的書網(wǎng)絡(luò)營銷七個步驟
  • 做網(wǎng)站時java都做什么網(wǎng)站到首頁排名