日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

python獲取redis?memory使用情況場(chǎng)景分析_python

作者:kngines ? 更新時(shí)間: 2023-01-26 編程語(yǔ)言

項(xiàng)目研發(fā)過(guò)程中,用到Python操作Redis場(chǎng)景,記錄學(xué)習(xí)過(guò)程中的心得體會(huì)。

一、環(huán)境搭建

  • Windows + Anaconda3
  • 安裝redis第3方包,pip install -u redis
    • pip install -u # 升級(jí)安裝
  • linux下查看redis配置信息
bind 127.0.0.1	# 表示只允許本地訪問(wèn),無(wú)法遠(yuǎn)程連接
bind 0.0.0.0    # 表示任何ip都可以訪問(wèn)

protected-mode yes # 保護(hù)模式,只允許本地鏈接
protected-mode no  # 保護(hù)模式關(guān)閉  

daemonize yes # 開(kāi)啟守護(hù)進(jìn)程模式。單進(jìn)程多線程模式,redis在后臺(tái)運(yùn)行。
daemonize no  # redis命令行界面,exit強(qiáng)制退出或關(guān)閉連接都會(huì)導(dǎo)致redis進(jìn)程退出

配置示例

  • 查找redis.conf文件路徑位置,find / -name 'redis.conf'
  • 查看redis.conf文件,vim redis.conf

在這里插入圖片描述

二、代碼實(shí)現(xiàn)

1、StrictRedis vs Redis

  • StrictRedis用于實(shí)現(xiàn)大部分官方的命令,并使用官方語(yǔ)法和命令;
  • Redis是StrictRedis的子類(lèi),用于向后兼容舊版本的redis-py;
  • 官方推薦使用StrictRedis方法。

2、 實(shí)驗(yàn)代碼

import redis

r = redis.Redis(host='10.xx.xx.201', port=7019,decode_responses=True, password='********')
mmj = r.info('Memory')
# result / r.execute_command('info Memory')

used_memory = mmj.get('used_memory')
maxmemory = mmj.get('maxmemory')

used_memory_human = mmj.get('used_memory_human')
maxmemory_human = mmj.get('maxmemory_human')
left_mem_ratio = (maxmemory - used_memory)*1.0/maxmemory

在這里插入圖片描述

三、redis info

Redis commands info 官方指南

1、memory

信息項(xiàng) 解釋
used_memory 由Redis分配器分配的內(nèi)存總量,包含redis進(jìn)程內(nèi)部的開(kāi)銷(xiāo)和數(shù)據(jù)占用的內(nèi)存,以字節(jié)為單位
used_memory_human 更直觀展示分配的內(nèi)存總量
used_memory_rss 向os申請(qǐng)的內(nèi)存大小。與 top 、 ps等命令的輸出一致。
used_memory_rss_human 更直觀展示向os申請(qǐng)的內(nèi)存大小。
used_memory_peak redis的內(nèi)存消耗峰值(以字節(jié)為單位)
used_memory_peak_human 更直觀返回redis的內(nèi)存消耗峰值
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)銷(xiāo),包括所有客戶(hù)端輸出緩沖區(qū)、查詢(xún)緩沖區(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)存
total_system_memory_human 以更直觀的格式顯示整個(gè)系統(tǒng)內(nèi)存
used_memory_lua Lua腳本存儲(chǔ)占用的內(nèi)存
used_memory_lua_human 以更直觀的格式顯示Lua腳本存儲(chǔ)占用的內(nèi)存
maxmemory Redis實(shí)例的最大內(nèi)存配置
maxmemory_human 以更直觀的格式顯示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ì)象

原文鏈接:https://blog.csdn.net/qq_24452475/article/details/128381762

欄目分類(lèi)
最近更新