如何進(jìn)行redis內(nèi)存信息解析,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
成都創(chuàng)新互聯(lián)公司專注于漣源網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供漣源營(yíng)銷型網(wǎng)站建設(shè),漣源網(wǎng)站制作、漣源網(wǎng)頁(yè)設(shè)計(jì)、漣源網(wǎng)站官網(wǎng)定制、重慶小程序開(kāi)發(fā)服務(wù),打造漣源網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供漣源網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
used_memory:由 Redis 分配器分配的內(nèi)存總量,包含了redis進(jìn)程內(nèi)部的開(kāi)銷和數(shù)據(jù)占用的內(nèi)存,以字節(jié)(byte)為單位
used_memory_rss:向操作系統(tǒng)申請(qǐng)的內(nèi)存大小。與 top 、 ps等命令的輸出一致。
used_memory_peak:redis的內(nèi)存消耗峰值(以字節(jié)為單位)
used_memory_peak_perc:使用內(nèi)存達(dá)到峰值內(nèi)存的百分比,即(used_memory/ used_memory_peak) *100%
used_memory_overhead:Redis為了維護(hù)數(shù)據(jù)集的內(nèi)部機(jī)制所需的內(nèi)存開(kāi)銷,包括所有客戶端輸出緩沖區(qū)、查詢緩沖區(qū)、AOF重寫(xiě)緩沖區(qū)和主從復(fù)制的backlog。
used_memory_startup:Redis服務(wù)器啟動(dòng)時(shí)消耗的內(nèi)存
used_memory_dataset:數(shù)據(jù)占用的內(nèi)存大小,即used_memory-sed_memory_overhead
used_memory_dataset_perc:數(shù)據(jù)占用的內(nèi)存大小的百分比,100%*(used_memory_dataset/(used_memory-used_memory_startup))
total_system_memory:整個(gè)系統(tǒng)內(nèi)存
used_memory_lua:Lua腳本存儲(chǔ)占用的內(nèi)存
maxmemory:Redis實(shí)例的最大內(nèi)存配置
maxmemory_policy:當(dāng)達(dá)到maxmemory時(shí)的淘汰策略
mem_fragmentation_ratio:碎片率,used_memory_rss/ used_memory
mem_allocator:內(nèi)存分配器
active_defrag_running:表示沒(méi)有活動(dòng)的defrag任務(wù)正在運(yùn)行,1表示有活動(dòng)的defrag任務(wù)正在運(yùn)行(defrag:表示內(nèi)存碎片整理)
lazyfree_pending_objects:0表示不存在延遲釋放的掛起對(duì)象
如果Redis的使用超過(guò)了設(shè)置的最大值會(huì)怎樣?我們來(lái)改一改上面的配置,故意把最大值設(shè)為1個(gè)byte試試。
# output buffers (but this is not needed if the policy is 'noeviction'). # # maxmemory <bytes> maxmemory 1
打開(kāi)debug模式下的頁(yè)面,提示錯(cuò)誤:OOM command not allowed when used memory > ‘maxmemory’.
設(shè)置了maxmemory的選項(xiàng),redis內(nèi)存使用達(dá)到上限??梢酝ㄟ^(guò)設(shè)置LRU算法來(lái)刪除部分key,釋放空間。默認(rèn)是按照過(guò)期時(shí)間的,如果set時(shí)候沒(méi)有加上過(guò)期時(shí)間就會(huì)導(dǎo)致數(shù)據(jù)寫(xiě)滿maxmemory。
如果不設(shè)置maxmemory或者設(shè)置為0,64位系統(tǒng)不限制內(nèi)存,32位系統(tǒng)最多使用3GB內(nèi)存。
LRU是Least Recently Used 近期最少使用算法。
volatile-lru -> 根據(jù)LRU算法生成的過(guò)期時(shí)間來(lái)刪除。
allkeys-lru -> 根據(jù)LRU算法刪除任何key。
volatile-random -> 根據(jù)過(guò)期設(shè)置來(lái)隨機(jī)刪除key。
allkeys->random -> 無(wú)差別隨機(jī)刪。
volatile-ttl -> 根據(jù)最近過(guò)期時(shí)間來(lái)刪除(輔以TTL)
noeviction -> 誰(shuí)也不刪,直接在寫(xiě)操作時(shí)返回錯(cuò)誤。
如果設(shè)置了maxmemory,一般都要設(shè)置過(guò)期策略。打開(kāi)Redis的配置文件有如下描述,Redis有六種過(guò)期策略:
# volatile-lru -> remove the key with an expire set using an LRU algorithm # allkeys-lru -> remove any key accordingly to the LRU algorithm # volatile-random -> remove a random key with an expire set # allkeys-random -> remove a random key, any key # volatile-ttl -> remove the key with the nearest expire time (minor TTL) # noeviction -> don't expire at all, just return an error on write operations
那么打開(kāi)配置文件,添加如下一行,使用volatile-lru的過(guò)期策略:
maxmemory-policy volatile-lru
保存文件退出,重啟redis服務(wù)。
看完上述內(nèi)容,你們掌握如何進(jìn)行redis內(nèi)存信息解析的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站名稱:如何進(jìn)行redis內(nèi)存信息解析
網(wǎng)頁(yè)路徑:http://aaarwkj.com/article12/jejigc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、企業(yè)建站、自適應(yīng)網(wǎng)站、域名注冊(cè)、App設(shè)計(jì)、小程序開(kāi)發(fā)
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)