python获取redis memory使用情况

news2025/2/5 6:06:26

项目研发过程中,用到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 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_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.coloradmin.cn/o/103243.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AssetBundle依赖打包有哪些注意点

1)AssetBundle依赖打包有哪些注意点 ​2)子程序集如何引用Assembly-CSharp.dll 3)Unity的线性空间下自定义贴图在PS中修改问题 4)如何关闭视锥体剔除 这是第318篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化…

CSS3之2D转换

文章目录2D转换一、transform1-1.2D转换之移动translate1-2.translate(百分比)盒子居中二、rotate2-1.旋转效果2-2.transform-origin设置旋转中心点三、2D转换之缩放scale四、2D转换综合写法总结2D转换 转换(trabsform)是CSS3中具…

SPDK块设备bdev简介

介绍 SPDK Bdev架构 SPDK块设备层(通常简称为bdev)是一个C库,旨在等同于操作系统块存储层,该层通常位于传统内核存储堆栈中设备驱动程序的正上方。具体来说,此库提供以下功能: 一种可插拔模块API&#xf…

Effective C++(二):构造/析构/赋值运算

个人读书记录,不适用教学内容。 目录 条款05:了解C默默编写并调用了哪些函数 条款06:若不想使用编译器自动生成的函数,就该明确拒绝 条款07:为多态基类声明virtual析构函数 条款08:别让异常逃离析构函数…

设备巡检系统哪个软件好?

本文将介绍:1、好用的设备巡检系统,2、评价设备巡检系统好用的标准;3、做好设备管理的几大关键 现今许多企业,尤其是制造业,规模日趋机械化、自动化、大型化、高速化和复杂化,对设备巡检工作的要求越加精细…

微信小程序网络请求

小程序的网络请求的文档是很少的,只提供了API,例子也不举。 基本使用 最简单的使用如下: 就是调用wx.request方法,这个方法已经能够应付大部分的网络请求了。 onLoad() {wx.request({url: http://123.207.32.32:1888/api/city/a…

我学python的那段日子(五)python中的函数

python中的函数 1.1自定义函数 1.1.1 函数的定义 ​ 和Java一样,python也有内置函数和自定义函数,内置函数是python已经定义好的函数,而自定义函数则是我们根据需要自己定义的函数。 ​ 语法 def 函数名称(参数): ​ 函数体 ​ 其中参数的…

一个转行学习前端的初学者,应该如何计划自己的学习规划?

就目前的发展来看,在语言排行中,前端多年霸主的地位还未被撼动,前端语言的特点就注定了很多公司会选用它,强大的第三方库使前端正在web端的强大无法被替代。目前由于大数据,人工智能的发展,互联网成为了发展…

Bootstrap5 复选框与单选框

如果您希望用户从预设选项列表中选择任意数量的选项&#xff0c;可以使用复选框&#xff1a; 实例 <div class"form-check"> <input class"form-check-input" type"checkbox" id"check1" name"option1" value&quo…

【Python机器学习】朴素贝叶斯分类的讲解及预测决策实战(图文解释 附源码)

需要代码请点赞关注收藏后评论区留言私信~~~ 朴素贝叶斯分类 朴素贝叶斯&#xff08;nave Bayes&#xff09;分类是基于贝叶斯定理与特征条件独立假定的分类方法。 设试验E的样本空间为S&#xff0c;A为E的事件&#xff0c;B_1&#xff0c;B_2&#xff0c;⋯&#xff0c;B_n为…

深入浅出理解Java并发AQS的共享锁模式

自定义共享锁例子 首先我们通过AQS实现一个非常最最最轻量简单的共享锁例子&#xff0c;帮助大家对共享锁有一个整体的感知。 Slf4j public class ShareLock {/*** 共享锁帮助类*/private static class ShareSync extends AbstractQueuedSynchronizer {private int lockCount…

C. Sequence Pair Weight(数学贡献法)

Problem - 1527C - Codeforces 序列的权重被定义为具有相同值&#xff08;aiaj&#xff09;的无序索引对&#xff08;i,j&#xff09;&#xff08;这里i<j&#xff09;的数量。例如&#xff0c;序列a[1,1,2,2,1]的权重是4&#xff0c;具有相同值的无序索引对的集合是&#x…

结构篇-适配器模式

文章目录一、跨越鸿沟靠适配二、插头与插孔的冲突1.三相插孔接口2.两相插孔接口3.电视机机类TV4.客户端类二、通用适配1. 适配器2.客户端类三、专属适配1.电视机专属适配器2.客户端类总结1. 对象适配器2. 类适配器总结适配器模式(Adapter)通常也被称为转换器&#xff0c;顾名思…

数字孪生炒得火热,但好像对企业发展还没有任何实质性的突破,是否只是表面功夫?

首先&#xff0c;什么是数字孪生&#xff1f; ​ 数字孪生是充分利用物理模型、传感器更新、运行历史等数据&#xff0c;集成多学科、多物理量、多尺度、多概率的仿真过程&#xff0c;在虚拟空间中完成映射&#xff0c;从而反映相对应的实体装备的全生命周期过程。数字孪生是一…

const成员,流插入,流提取重载,初始化列表!(6千字长文详解!)

c详解之const成员&#xff0c;流插入&#xff0c;流提取重载&#xff0c;初始化列表&#xff01; 文章目录c详解之const成员&#xff0c;流插入&#xff0c;流提取重载&#xff0c;初始化列表&#xff01;<< 流插入 和 >> 流提取的重载解决共有成员函数问题链式访问…

实用!7个强大的Python机器学习库!⛵

&#x1f4a1; 作者&#xff1a;韩信子ShowMeAI &#x1f4d8; 机器学习实战系列&#xff1a;https://www.showmeai.tech/tutorials/41 &#x1f4d8; 本文地址&#xff1a;https://www.showmeai.tech/article-detail/412 &#x1f4e2; 声明&#xff1a;版权所有&#xff0c;转…

如何借助扬尘视频监测系统开展扬尘污染防控工作?

一、方案背景 目前&#xff0c;跟随国家快速发展的步伐&#xff0c;城市化建设也在飞速发展&#xff0c;各种建设工程遍地开花。如何更好抵管理施工扬尘&#xff0c;杜绝各种违规及不文明现象&#xff0c;一直是施工企业、政府管理部门关注的焦点。 二、系统介绍 环境扬尘视频…

手把手教你一套完善且高效的k8s离线部署方案

作者&#xff1a;郝建伟 背景 面对更多项目现场交付&#xff0c;偶而会遇到客户环境不具备公网条件&#xff0c;完全内网部署&#xff0c;这就需要有一套完善且高效的离线部署方案。 系统资源 编号主机名称IP资源类型CPU内存磁盘01k8s-master110.132.10.91CentOS-74c8g40g0…

SkeyeVSS储备地块可视化管理信息系统 助力土地批后全程监管解决方案

一、方案背景 近年来&#xff0c;储备地块经常遭遇倾倒渣土、隐蔽性私搭乱建等违法行为的侵害&#xff0c;在违法行为发生之后又面临追责难度大、效率低的问题&#xff0c;因此可视化监管系统的建设将有效地解决单纯靠人力巡查、巡查时间长、巡查效率低以及发现侵害行为后追责…

阿里云轻量服务器--Docker--Mqtt(eclipse-mosquitto)安装

1 获取镜像&#xff1a; docker pull eclipse-mosquitto:1.6.14查看获取的镜像&#xff1a; docker images 2 安装&#xff1a; 2.1 新建日志和数据目录&#xff1a; # 配置文件存放 mkdir -p /root/mosquitto/config # 数据文件存放 mkdir -p /root/mosquitto/data # 日志文…