返回顶部
首页 > 资讯 > 数据库 >redis清除内存碎片的方法
  • 427
分享到

redis清除内存碎片的方法

redis清除内存碎片的方法 2016-06-23 16:06:41 427人浏览 绘本
摘要

redis清除内存碎片的方法

Redis 4.O-RC3版本之后,Redis自身提供了一种清除内存碎片的方法

清除的原理很简单,通过复制拷贝将不连续的存放的数据搬到一起形成一块连续的内存空间,如下图:

如上图,清除之前A和B不是连续的,中间隔着两个字节空闲1,但是在执行清除内存碎片操作之后,Redis拷贝了B到空闲1,释放掉之前B的空间,此时空闲1和空闲2则变成了连续的空闲空间了。

那么问题来了,这种方式固然好,但是对于单线程的Redis来说,通过这种拷贝复制的方式显然是一种耗时的操作,性能大大降低,那么有什么好的方法呢?

Redis提供了参数配置,可以控制清除内存碎片的时机,命令如下:

config set activedefrag yes

以上命令启动自动清理,但是具体什么时候清理,还要受以下两个参数的影响:

  1. active-defrag-ignore-bytes 400mb:如果内存碎片达到了408mb,开始清理(自定义)
  2. active-defrag-threshold-lower 20:内存碎片空间占操作系统分配给Redis的总空间比例达到20%时,开始清理(自定义)

以上两个参数只有全部满足才会开始清理

除了以上触发清理内存碎片的参数,Redis还提供了两个参数来保证在清理过程中不影响处理正常的请求,如下:

1. active-defrag-cycle-min 25:表示自动清理过程所用CPU时间的比例不低于25%,保证清理能正常开展

2. active-defrag-cycle-max 75:表示自动清理过程所用CPU时间的比例不高于75%,一旦超过,就停止清理,从而避免在清理时,大量的内存拷贝阻塞 Redis,导致响应延迟升高。

以上两个参数控制了清理过程中的CPU时间占比,保证了正常处理请求不受影响

您可能感兴趣的文档:

--结束END--

本文标题: redis清除内存碎片的方法

本文链接: https://lsjlt.com/news/8201.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • redis清除内存碎片的方法
    ...
    99+
    2016-06-23
    redis清除内存碎片的方法
  • 详解如何清理Redis内存碎片
    目录什么是Redis内存碎片?Redis内存碎片是如何形成的?如何判断Redis是否有内存碎片?如何清理内存碎片?内存碎片自动清理如何缓解这个问题?总结明明做了数据删除,数据量已经不大了,为什么使用 top 命令查看时,...
    99+
    2023-04-19
    redis内存碎片 redis内存碎片整理 redis内存碎片处理
  • Redis的内存碎片怎么避免和清理
    内存碎片指的是内存中存在的一些无法被利用的碎片化空间。在Redis中,内存碎片的产生主要是由于内存的分配和释放过程中造成的。为了避免...
    99+
    2024-05-07
    Redis
  • Redis4.0中怎么自动清理内存碎片
    这篇文章给大家介绍Redis4.0中怎么自动清理内存碎片,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。通过设置config set activedefrag yes# redis-cl...
    99+
    2024-04-02
  • Redis内存碎片处理实例详解
    目录Redis内存碎片处理模拟bigkey删除什么是内存碎片内存碎片如何产生内存分配器键值大小不同键值的操作碎片信息如何查看碎片率如何降低总结Redis内存碎片处理 不知道我们在执行...
    99+
    2024-04-02
  • Redis内存碎片原理深入分析
    目录前言释放的内存去了哪里?什么是内存碎片?什么导致内存碎片?如何解决?总结前言 我们先来看一个问题, 假设Redis实例保存了5GB的数据,现在删除了2GB的数据,那么Redis...
    99+
    2023-02-01
    Redis内存碎片 Redis 内存
  • redis清除缓存数据的方法
    本篇文章给大家分享的是有关redis清除缓存数据的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Windows环境下使用命令行进行redi...
    99+
    2024-04-02
  • Windows下清除Redis缓存的方法
    Windows下清除Redis缓存的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!Windows下清除Redis缓存1...
    99+
    2024-04-02
  • redis清缓存的方法
    这篇文章将为大家详细讲解有关redis清缓存的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.访问redis根目录    cd  /u...
    99+
    2024-04-02
  • 清空redis缓存的方法
    这篇文章主要介绍了清空redis缓存的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。1.访问redis根目录    cd...
    99+
    2024-04-02
  • javascript清除缓存的方法
    本篇内容介绍了“javascript清除缓存的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!javascript清除缓存的方法:1、在h...
    99+
    2023-06-14
  • html清除缓存的方法
    这篇文章给大家分享的是有关html清除缓存的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。html清除缓存的方法:1、在meta标签里使用“Cache-Control”属性,语法“CONTENT="...
    99+
    2023-06-14
  • 清除redis缓存的命令
    redis 提供了清除缓存数据的命令,包括:删除单个键:del、unlink清除整个数据库:flushdb、flushall 清除 Redis 缓存的命令 Redis 提供了多种命令来...
    99+
    2024-04-20
    redis
  • Redis如何采用不同内存分配器碎片率对比
    今天小编给大家分享一下Redis如何采用不同内存分配器碎片率对比的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2024-04-02
  • Redis内存碎片产生原因及Pipeline管道原理解析
    目录内存碎片内存碎片如何产生的?内存分配器怎么看是否有内存碎片?碎片率的意义?清理内存碎片低于4.0-RC3版本的Redis高于4.0-RC3版本的RedisPipeline管道为什么需要Pipeline原生批命令(ms...
    99+
    2023-03-23
    Redis内存碎片Pipeline管道 Redis Pipeline
  • phpcms自定义碎片插件之内容碎片标签模块使用方法
    这里分享一个自定义碎片的插件:phpcms V9内容碎片标签模块。 关于Phpcms V9内容碎片标签模块的一些说明: 系统自带了碎片管理插件,但是碎片管理插件针对少量碎片来说不是很方便,这里是独立模块,不限phpcm...
    99+
    2022-06-12
    phpcms 自定义碎片 标签模块
  • redis缓存清除策略及配置的方法是什么
    Redis缓存清除策略通常包括以下几种: 定时过期:设置键的过期时间,当键过期时自动清除。 惰性删除:在获取键时检查它是否过期,如...
    99+
    2024-04-02
  • Redis内存碎片产生原因及Pipeline管道原理是什么
    这篇文章主要介绍了Redis内存碎片产生原因及Pipeline管道原理是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis内存碎片产生原因及Pipeline管道原理是什么文章都会有所收获,下面我们一起...
    99+
    2023-07-05
  • linux下清理redis缓存的方法
    这篇文章主要介绍了linux下清理redis缓存的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。1、先确保redis进程存活ps -ef|g...
    99+
    2024-04-02
  • Linux物理内存外碎片的示例分析
    这篇文章主要介绍Linux物理内存外碎片的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、Linux物理内存外碎片化概述什么是Linux物理内存碎片化Linux物理内存碎片化包括两种:物理内存内碎片:指分配...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作