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

學無先后,達者為師

網站首頁 編程語言 正文

python獲取redis?memory使用情況場景分析_python

作者:kngines ? 更新時間: 2023-01-26 編程語言

項目研發過程中,用到Python操作Redis場景,記錄學習過程中的心得體會。

一、環境搭建

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

protected-mode yes # 保護模式,只允許本地鏈接
protected-mode no  # 保護模式關閉  

daemonize yes # 開啟守護進程模式。單進程多線程模式,redis在后臺運行。
daemonize no  # redis命令行界面,exit強制退出或關閉連接都會導致redis進程退出

配置示例

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

在這里插入圖片描述

二、代碼實現

1、StrictRedis vs Redis

  • StrictRedis用于實現大部分官方的命令,并使用官方語法和命令;
  • Redis是StrictRedis的子類,用于向后兼容舊版本的redis-py;
  • 官方推薦使用StrictRedis方法。

2、 實驗代碼

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

信息項 解釋
used_memory 由Redis分配器分配的內存總量,包含redis進程內部的開銷和數據占用的內存,以字節為單位
used_memory_human 更直觀展示分配的內存總量
used_memory_rss 向os申請的內存大小。與 top 、 ps等命令的輸出一致。
used_memory_rss_human 更直觀展示向os申請的內存大小。
used_memory_peak redis的內存消耗峰值(以字節為單位)
used_memory_peak_human 更直觀返回redis的內存消耗峰值
used_memory_peak_perc 使用內存達到峰值內存的百分比,即(used_memory/ used_memory_peak) *100%
used_memory_overhead Redis為了維護數據集的內部機制所需的內存開銷,包括所有客戶端輸出緩沖區、查詢緩沖區、AOF重寫緩沖區和主從復制的backlog。
used_memory_startup Redis服務器啟動時消耗的內存
used_memory_dataset 數據占用的內存大小,即used_memory-sed_memory_overhead
used_memory_dataset_perc 數據占用的內存大小的百分比,100%*(used_memory_dataset/(used_memory-used_memory_startup))
total_system_memory 整個系統內存
total_system_memory_human 以更直觀的格式顯示整個系統內存
used_memory_lua Lua腳本存儲占用的內存
used_memory_lua_human 以更直觀的格式顯示Lua腳本存儲占用的內存
maxmemory Redis實例的最大內存配置
maxmemory_human 以更直觀的格式顯示Redis實例的最大內存配置
maxmemory_policy 當達到maxmemory時的淘汰策略
mem_fragmentation_ratio 碎片率,used_memory_rss/ used_memory
mem_allocator 內存分配器
active_defrag_running 表示沒有活動的defrag任務正在運行,1表示有活動的defrag任務正在運行(defrag:表示內存碎片整理)
lazyfree_pending_objects 0表示不存在延遲釋放的掛起對象

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

欄目分類
最近更新