加入收藏 | 设为首页 | 会员中心 | 我要投稿 平凉站长网 (https://www.0933zz.com.cn/)- 图像处理、语音技术、媒体智能、运维、低代码!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

你需要知道这一套Redis内存分析方法

发布时间:2021-03-13 14:49:12 所属栏目:传媒 来源:互联网
导读:edis内存占用分布 Redis作为内存数据库,在内存中存储的内容主要是数据(键值对);除了数据以外,Redis的其他部分也会占用内存,内存占用主要可以划分为以下几个部分: 数据 数据是数据库最主要的组成部分。Redis使用键值对存储数据,其中包括五种类型:字符串



edis内存占用分布

Redis作为内存数据库,在内存中存储的内容主要是数据(键值对);除了数据以外,Redis的其他部分也会占用内存,内存占用主要可以划分为以下几个部分:

数据

数据是数据库最主要的组成部分。Redis使用键值对存储数据,其中包括五种类型:字符串、哈希、列表、集合、有序集合。

本身运行需要的内存

Redis本身也是一个程序,主进程运行及创建的子进程运行也需要占用内存,但这部分占用内存极少,大多数情况下可以忽略。

缓冲内存

缓冲内存包括客户端缓冲区、复制积压缓冲区、AOF缓冲区等,这部分占用内存也很少。

内存碎片

内存碎片是Redis在分配、回收物理内存过程中产生的。内存碎片产生原因主要是对数据的频繁修改造成,导致Redis释放的空间在物理内存中并没有被释放。若Redis服务器中内存碎片很大,可以通过安全重启方式释放内存。

Redis内存分析过程

分析Redis内存我们一般会采用bgsave生成dump.rdb文件再结合redis-rdb-tools和 sqlite或其他数据库来进行静态分析。

BGSAVE:在后台异步(Asynchronously)保存当前数据库的数据到磁盘。

BGSAVE 命令执行之后立即返回 OK,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。

生成内存快照:redis-rdb-tools 是一个 python 的解析 rdb 文件的工具,在分析内存的时候,主要用它生成内存快照。

(编辑:平凉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读