python获取redis memory使用情况场景分析

 更新时间:2022年12月21日 15:39:14   作者:kngines  
这篇文章主要介绍了python获取redis memory使用情况,项目研发过程中,用到Python操作Redis场景,记录学习过程中的心得体会,需要的朋友可以参考下

项目研发过程中,用到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_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表示不存在延迟释放的挂起对象

到此这篇关于python获取redis memory使用情况的文章就介绍到这了,更多相关python redis memory使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python函数装饰器原理与用法详解

    Python函数装饰器原理与用法详解

    这篇文章主要介绍了Python函数装饰器原理与用法,结合实例形式详细分析了Python装饰器的原理、功能、分类、常见操作技巧与使用注意事项,需要的朋友可以参考下
    2019-08-08
  • vscode写python时的代码错误提醒和自动格式化的方法

    vscode写python时的代码错误提醒和自动格式化的方法

    这篇文章主要介绍了vscode写python时的代码错误提醒和自动格式化的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • python openpyxl打开文件关闭问题

    python openpyxl打开文件关闭问题

    这篇文章主要介绍了python openpyxl打开文件关闭问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Python中的线程操作模块(oncurrent)

    Python中的线程操作模块(oncurrent)

    这篇文章介绍了Python中的线程操作模块(oncurrent),文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    python中的datetime模块提供了操作日期和时间功能,本文为大家讲解了datetime模块的使用方法及与其相关的日期比较,计算实例
    2018-09-09
  • 将matplotlib绘图嵌入pyqt的方法示例

    将matplotlib绘图嵌入pyqt的方法示例

    这篇文章主要介绍了将matplotlib绘图嵌入pyqt的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • python 使用pandas读取csv文件的方法

    python 使用pandas读取csv文件的方法

    这篇文章主要介绍了python 使用pandas读取csv文件的方法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • python单元测试框架pytest介绍

    python单元测试框架pytest介绍

    这篇文章介绍了python的单元测试框架pytest,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 在Python中实现函数重载的示例代码

    在Python中实现函数重载的示例代码

    这篇文章主要介绍了在Python中实现函数重载的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Python爬虫获取op.gg英雄联盟英雄对位胜率的源码

    Python爬虫获取op.gg英雄联盟英雄对位胜率的源码

    这篇文章主要介绍了Python爬虫获取op.gg英雄联盟英雄对位胜率,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01

最新评论