python獲取redis memory使用情況場景分析
項目研發(fā)過程中,用到Python操作Redis場景,記錄學(xué)習(xí)過程中的心得體會。
一、環(huán)境搭建
- Windows + Anaconda3
- 安裝
redis第3方包,pip install -u redispip install -u # 升級安裝
- linux下查看redis配置信息
bind 127.0.0.1 # 表示只允許本地訪問,無法遠程連接 bind 0.0.0.0 # 表示任何ip都可以訪問 protected-mode yes # 保護模式,只允許本地鏈接 protected-mode no # 保護模式關(guān)閉 daemonize yes # 開啟守護進程模式。單進程多線程模式,redis在后臺運行。 daemonize no # redis命令行界面,exit強制退出或關(guān)閉連接都會導(dǎo)致redis進程退出
配置示例
- 查找
redis.conf文件路徑位置,find / -name 'redis.conf' - 查看
redis.conf文件,vim redis.conf

二、代碼實現(xiàn)
1、StrictRedis vs Redis
- StrictRedis用于實現(xiàn)大部分官方的命令,并使用官方語法和命令;
- 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
1、memory
| 信息項 | 解釋 |
|---|---|
| used_memory | 由Redis分配器分配的內(nèi)存總量,包含redis進程內(nèi)部的開銷和數(shù)據(jù)占用的內(nèi)存,以字節(jié)為單位 |
| used_memory_human | 更直觀展示分配的內(nèi)存總量。 |
| used_memory_rss | 向os申請的內(nèi)存大小。與 top 、 ps等命令的輸出一致。 |
| used_memory_rss_human | 更直觀展示向os申請的內(nèi)存大小。 |
| used_memory_peak | redis的內(nèi)存消耗峰值(以字節(jié)為單位) |
| used_memory_peak_human | 更直觀返回redis的內(nèi)存消耗峰值 |
| used_memory_peak_perc | 使用內(nèi)存達到峰值內(nèi)存的百分比,即(used_memory/ used_memory_peak) *100% |
| used_memory_overhead | Redis為了維護數(shù)據(jù)集的內(nèi)部機制所需的內(nèi)存開銷,包括所有客戶端輸出緩沖區(qū)、查詢緩沖區(qū)、AOF重寫緩沖區(qū)和主從復(fù)制的backlog。 |
| used_memory_startup | Redis服務(wù)器啟動時消耗的內(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 | 整個系統(tǒng)內(nèi)存 |
| total_system_memory_human | 以更直觀的格式顯示整個系統(tǒng)內(nèi)存 |
| used_memory_lua | Lua腳本存儲占用的內(nèi)存 |
| used_memory_lua_human | 以更直觀的格式顯示Lua腳本存儲占用的內(nèi)存 |
| maxmemory | Redis實例的最大內(nèi)存配置 |
| maxmemory_human | 以更直觀的格式顯示Redis實例的最大內(nèi)存配置 |
| maxmemory_policy | 當(dāng)達到maxmemory時的淘汰策略 |
| mem_fragmentation_ratio | 碎片率,used_memory_rss/ used_memory |
| mem_allocator | 內(nèi)存分配器 |
| active_defrag_running | 表示沒有活動的defrag任務(wù)正在運行,1表示有活動的defrag任務(wù)正在運行(defrag:表示內(nèi)存碎片整理) |
| lazyfree_pending_objects | 0表示不存在延遲釋放的掛起對象 |
到此這篇關(guān)于python獲取redis memory使用情況的文章就介紹到這了,更多相關(guān)python redis memory使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python+opencv實現(xiàn)動態(tài)物體識別
這篇文章主要為大家詳細介紹了python+opencv實現(xiàn)動態(tài)物體識別,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01
Python?web框架實現(xiàn)增加BasicAuth認證詳解
這篇文章主要為大家詳細介紹了Python如何在web框架中實現(xiàn)增加BasicAuth認證,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下2023-05-05
python使用scapy模塊實現(xiàn)ARP掃描的過程
這篇文章主要介紹了python使用scapy模塊實現(xiàn)ARP掃描的過程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
Python內(nèi)建類型int源碼學(xué)習(xí)
這篇文章主要為大家介紹了Python內(nèi)建類型int源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
Django零基礎(chǔ)入門之自定義標(biāo)簽及模板中的使用
這篇文章主要介紹了Django零基礎(chǔ)入門之自定義標(biāo)簽及模板中的使用,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09
對Python中TKinter模塊中的Label組件實例詳解
今天小編就為大家分享一篇對Python中TKinter模塊中的Label組件實例詳解,具有很好的價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06

