網站首頁 編程語言 正文
項目研發過程中,用到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
相關推薦
- 2022-08-28 redis 主從同步部署
- 2022-07-02 python之NAN和INF值處理方式_python
- 2022-05-24 Kubernetes部署可視化地圖的十個步驟_云其它
- 2022-03-15 this.$cookie.set(‘token‘, data.token) token賦值失效
- 2022-12-03 FFmpeg?Principle分析Out?put?File?數據結構_Android
- 2022-07-14 python?中的requirements.txt?文件的使用詳情_python
- 2022-05-03 C#面向對象設計原則之組合/聚合復用原則_C#教程
- 2022-06-18 C語言?從根本上理解指針_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支