新聞中心
今天就跟大家聊聊有關(guān)怎樣進(jìn)行redis緩存,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名申請、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、疊彩網(wǎng)站維護(hù)、網(wǎng)站推廣。
優(yōu)點
緩存(和數(shù)據(jù)庫的關(guān)系,只能保證最終一致性,不能保證強(qiáng)一致性)
高性能高并發(fā)
可實現(xiàn)分布式鎖
單線程工作模型
避免了頻繁上下文切換
采用非阻塞的I/O多路復(fù)用機(jī)制(多個I/O流入隊并復(fù)用同一個線程運行)
內(nèi)存模型
Key
指向五種內(nèi)存模型
String
:常用于緩存等Hash
:常用于原生結(jié)構(gòu)性緩存等List
:可實現(xiàn)簡單隊列,可實現(xiàn)分頁Set
:可用于與計算差并交集(比如雙方喜好的計算),還具備去重特性SortedSet
(或稱ZSet
):可實現(xiàn)排行榜(增量操作較耗時,讀取操作通過跳躍表實現(xiàn)了高性能)、延時任務(wù),范圍查詢等
持久化策略
RDB快照策略
在指定的時間間隔內(nèi)生成數(shù)據(jù)集的時間點快照(point-in-time snapshot)
有點:體積小、快照時資源消耗較少、還原速度快
缺點:數(shù)據(jù)不完整、易丟失數(shù)據(jù)
AOF日志策略
記錄服務(wù)器執(zhí)行的所有寫操作命令,并在服務(wù)器啟動時,通過重新執(zhí)行這些命令來還原數(shù)據(jù)集
后臺可對 AOF 文件進(jìn)行重寫以縮減其體量
優(yōu)點:不易丟失數(shù)據(jù)
缺點:日志時資源消耗較多、體積容易過大、還原速度較慢
RDB&AOF混合策略
Redis 重啟時, 它會優(yōu)先使用 AOF 文件來還原數(shù)據(jù)集,其次考慮RDB快照
關(guān)閉策略
不提供持久化及恢復(fù)支持
鍵值淘汰機(jī)制
過期鍵值刪除策略(鍵值過期時間記錄在過期表中,過期鍵值不保證立刻釋放。沒有過期時間的鍵值近似為持久的)
定期刪除(定期漸進(jìn)地查找過期的鍵值)
惰性刪除(讀取鍵值時候檢查是否過期)
內(nèi)存不足時的釋放策略
noeviction:阻止新的寫入報錯
allkeys-lru:全量鍵值中移除最近最少使用key
allkeys-random:全量鍵值中隨機(jī)移除某個key
volatile-lru:移除最少使用的帶ttl的key
volatile-random:隨機(jī)移除帶ttl的key
volatile-ttl:移除過期時間更早的帶ttl的key
淘汰策略配置
maxmemory-policy
常用操作
info # 服務(wù)概況和統(tǒng)計信息 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的值
常見故障
緩存雪崩
大批量緩存同時失效或者緩存重建期間收到大并發(fā)請求,從而導(dǎo)致系統(tǒng)性能急劇下降
可能原因:大量緩存采用了相同過期時間、機(jī)器重啟等等
解決方案:失效時間追加隨機(jī)值,采用隊列或加鎖等方式來單線程更新緩存
看完上述內(nèi)容,你們對怎樣進(jìn)行Redis緩存有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
文章名稱:怎樣進(jìn)行Redis緩存
網(wǎng)站地址:http://www.dlmjj.cn/article/ghpopc.html