python获取redis memory使用情况

news/2024/11/23 23:39:36/

项目研发过程中,用到Python操作Redis场景,记录学习过程中的心得体会。

一、环境搭建

  1. Windows + Anaconda3
  2. 安装redis第3方包,pip install -u redis
    • pip install -u # 升级安装
  3. 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

  1. StrictRedis用于实现大部分官方的命令,并使用官方语法和命令;
  2. Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py;
  3. 官方推荐使用StrictRedis方法。

2、 实验代码

import redisr = 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_peakredis的内存消耗峰值(以字节为单位)
used_memory_peak_human更直观返回redis的内存消耗峰值
used_memory_peak_perc使用内存达到峰值内存的百分比,即(used_memory/ used_memory_peak) *100%
used_memory_overheadRedis为了维护数据集的内部机制所需的内存开销,包括所有客户端输出缓冲区、查询缓冲区、AOF重写缓冲区和主从复制的backlog。
used_memory_startupRedis服务器启动时消耗的内存
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_luaLua脚本存储占用的内存
used_memory_lua_human以更直观的格式显示Lua脚本存储占用的内存
maxmemoryRedis实例的最大内存配置
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_objects0表示不存在延迟释放的挂起对象

http://www.ppmy.cn/news/5076.html

相关文章

中国清洁清洗行业等级资质

中国商业企业管理协会清洁服务商专业委员会——“中清委”(以下简称评定单位)承担组织等级清洁清洗服务机构评定工作。 申请资料 (1)专业清洁清洗服务机构等级评定申请表(附录B); (2)法人代表资格证明&#xff1…

【JavaScript】while循环、do…while循环、for循环

文章目录一.循环的概念和意义二.while循环三.do...while...循环四.for循环的使用五.break和continue关键字介绍BREAK 终止循环CONTINUE 结束本次循环六.练习题一.循环的概念和意义 循环结构,就是根据某些给出的条件,重复的执行同一段代码循环必须要有某些…

基于ssm框架的汽车故障维修管理系统源码+开题报告+论文+远程安装部署+视频讲解

博主介绍:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 项目名称 基于ssm框架的汽车故障维修管理系统源码开题报告论文远程安装部署视频讲解 演示视频 视频去哪了呢?_哔哩哔哩_bilibili 系统介绍 项目介绍…

计算机毕业设计 SSM与vue的汽车租赁管理系统(源码+论文)

文章目录1 项目简介2 实现效果2.1 界面展示3 设计方案3.1 概述3.2 系统流程3.3 系统结构设计4 项目获取1 项目简介 Hi,各位同学好呀,这里是M学姐! 今天向大家分享一个今年(2022)最新完成的毕业设计项目作品,【基于SSM的汽车租赁…

计算机毕设Python+Vue学习类视频网站(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

界面控件DevExpress WPF中文指南 - 主题设计器工作区介绍

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF的Them…

mapreduce搭建

一.虚拟机安装CentOS7并配置共享文件夹 二.CentOS 7 上hadoop伪分布式搭建全流程完整教程 三.本机使用python操作hdfs搭建及常见问题 四.mapreduce搭建 五.mapper-reducer编程搭建 mapreduce搭建一、配置1.创建mapred-site.xml文件2.修改配置文件二、打开hadoop0.删除data文件夹…

React DAY04

复习&#xff1a; 1.使用React的两种方式&#xff1a; ①脚本引入式&#xff1a; <script src"./js/react.js"></script> <script src"./js/react-dom.js"></script> <script src"./js/babel.js"></script>…