怎樣進(jìn)行Redis緩存

今天就跟大家聊聊有關(guān)怎樣進(jìn)行redis緩存,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、疊彩網(wǎng)站維護(hù)、網(wǎng)站推廣。

優(yōu)點(diǎn)

  • 緩存(和數(shù)據(jù)庫的關(guān)系,只能保證最終一致性,不能保證強(qiáng)一致性)

  • 高性能高并發(fā)

  • 可實(shí)現(xiàn)分布式鎖

  • 單線程工作模型

    • 避免了頻繁上下文切換

    • 采用非阻塞的I/O多路復(fù)用機(jī)制(多個(gè)I/O流入隊(duì)并復(fù)用同一個(gè)線程運(yùn)行)

內(nèi)存模型

Key指向五種內(nèi)存模型

  • String:常用于緩存等

  • Hash:常用于原生結(jié)構(gòu)性緩存等

  • List:可實(shí)現(xiàn)簡單隊(duì)列,可實(shí)現(xiàn)分頁

  • Set:可用于與計(jì)算差并交集(比如雙方喜好的計(jì)算),還具備去重特性

  • SortedSet(或稱ZSet):可實(shí)現(xiàn)排行榜(增量操作較耗時(shí),讀取操作通過跳躍表實(shí)現(xiàn)了高性能)、延時(shí)任務(wù),范圍查詢等

持久化策略

  • RDB快照策略

    • 在指定的時(shí)間間隔內(nèi)生成數(shù)據(jù)集的時(shí)間點(diǎn)快照(point-in-time snapshot)

    • 有點(diǎn):體積小、快照時(shí)資源消耗較少、還原速度快

    • 缺點(diǎn):數(shù)據(jù)不完整、易丟失數(shù)據(jù)

  • AOF日志策略

    • 記錄服務(wù)器執(zhí)行的所有寫操作命令,并在服務(wù)器啟動(dòng)時(shí),通過重新執(zhí)行這些命令來還原數(shù)據(jù)集

    • 后臺(tái)可對(duì) AOF 文件進(jìn)行重寫以縮減其體量

    • 優(yōu)點(diǎn):不易丟失數(shù)據(jù)

    • 缺點(diǎn):日志時(shí)資源消耗較多、體積容易過大、還原速度較慢

  • RDB&AOF混合策略

    • Redis 重啟時(shí), 它會(huì)優(yōu)先使用 AOF 文件來還原數(shù)據(jù)集,其次考慮RDB快照

  • 關(guān)閉策略

    • 不提供持久化及恢復(fù)支持

鍵值淘汰機(jī)制

  • 過期鍵值刪除策略(鍵值過期時(shí)間記錄在過期表中,過期鍵值不保證立刻釋放。沒有過期時(shí)間的鍵值近似為持久的)

    • 定期刪除(定期漸進(jìn)地查找過期的鍵值)

    • 惰性刪除(讀取鍵值時(shí)候檢查是否過期)

  • 內(nèi)存不足時(shí)的釋放策略

    • noeviction:阻止新的寫入報(bào)錯(cuò)

    • allkeys-lru:全量鍵值中移除最近最少使用key

    • allkeys-random:全量鍵值中隨機(jī)移除某個(gè)key

    • volatile-lru:移除最少使用的帶ttl的key

    • volatile-random:隨機(jī)移除帶ttl的key

    • volatile-ttl:移除過期時(shí)間更早的帶ttl的key

    • 淘汰策略配置maxmemory-policy

常用操作

info  # 服務(wù)概況和統(tǒng)計(jì)信息
dbsize #當(dāng)前庫中key數(shù)量

monitor  #監(jiān)控操作


#### 庫操作 ####
select dbname #選庫


#### 鍵操作 ####
keys key_pattern  #搜索匹配正則的key


#### 值操作 ####
type key #檢查key值類型
del key #刪除key值
flushdb #清空當(dāng)前庫下key的值
flushall #清空所有庫下key的值
常見故障
  • 緩存雪崩

    • 大批量緩存同時(shí)失效或者緩存重建期間收到大并發(fā)請(qǐng)求,從而導(dǎo)致系統(tǒng)性能急劇下降

    • 可能原因:大量緩存采用了相同過期時(shí)間、機(jī)器重啟等等

    • 解決方案:失效時(shí)間追加隨機(jī)值,采用隊(duì)列或加鎖等方式來單線程更新緩存

看完上述內(nèi)容,你們對(duì)怎樣進(jìn)行Redis緩存有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

本文標(biāo)題:怎樣進(jìn)行Redis緩存
標(biāo)題網(wǎng)址:http://muchs.cn/article32/ghpopc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、品牌網(wǎng)站建設(shè)、網(wǎng)站收錄關(guān)鍵詞優(yōu)化、微信小程序、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)