返回顶部
首页 > 资讯 > 数据库 >Redis内存
  • 895
分享到

Redis内存

Redis内存 2020-05-17 03:05:04 895人浏览 无得
摘要

Redis内存消耗:自身内存 + 对象内存 + 缓冲内存 + 内存碎片 自身内存:Redis进程自身内存占用量很小,大约在3.8M左右。 对象内存:sizeof(keys) + sizeof(values),键和值的内存都需要关注 缓冲内

Redis内存

Redis内存消耗:自身内存 + 对象内存 + 缓冲内存 + 内存碎片

  1. 自身内存:Redis进程自身内存占用量很小,大约在3.8M左右。
  2. 对象内存:sizeof(keys) + sizeof(values),键和值的内存都需要关注
  3. 缓冲内存:主要包括客户端缓冲、复制积压缓冲区、AOF缓冲区
    • 客户端缓冲:指所有接入到Redis服务器tcp连接的输入输出缓冲,超过1G会自动断开
    • 复制积压缓冲区:用于实现部分复制功能补救措施的缓冲区
    • AOF缓冲区:Redis重写期间保存最近的写入命令,消耗内存取决于AOF重写时间及写入命令量
  4. 内存碎片:Redis默认使用jemalloc分配器、可选glibc、tcmalloc,为了更好的管理和复用内存,一般采用内存块进行分配,通常采用数据对齐或安全重启处理内存碎片超标情况

子进程内存消耗:子进程fork后与父进程享有同一物理内存,AOF/RDB期间父进程处理写请求时会复制出请求的页副本进行写操作,子进程依然读取父进程快照

  1. Redis fork期间产生的子进程需要消耗的内存由持久化期间写入命令量决定
  2. 设置sysctl vm.overcommit_memory = 1允许内存分配所有的物理内存
  3. 排查当前系统是否支持THP,防止copy-on-write期间内存过度消耗

内存管理:Redis通过控制内存上限和回收策略实现内存管理。

  1. 设置内存上限:Redis使用maxmemory参数限制最大可用内存
    • 用于缓存场景,超出上限maxmemory后使用LRU等删除策略释放空间
    • 防止所有内存超过服务器物理内存,需要注意由于内存碎片的存在,实际消耗会比maxmemory更大
  2. 动态调整内存上限
    • 当Redis实例设置maxmemory不合理时,可以通过config set maxmemory进行修改
  3. 内存回收策略
    • 删除到达过期时间的键对象:惰性删除(读取到超时的键就删除,减少TTL的消耗)和定时任务删除(每秒执行十次,根据键的过期比例使用快慢两种方式回收键)
    • 内存溢出控制策略(maxmemory-policy):noeviction(不删除,拒绝写入)、volatile-lru(LRU删除设置了超时时间的属性)、allkeys-lru(LRU删除不管超时)、allkeys-random(随机删除所有键)、volatile-random(随机删除过期键)、volatile-ttl(根据对象的ttl属性删除即将过期的数据)
您可能感兴趣的文档:

--结束END--

本文标题: Redis内存

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

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

猜你喜欢
  • Redis内存
    Redis内存消耗:自身内存 + 对象内存 + 缓冲内存 + 内存碎片 自身内存:Redis进程自身内存占用量很小,大约在3.8M左右。 对象内存:sizeof(keys) + sizeof(values),键和值的内存都需要关注 缓冲内...
    99+
    2020-05-17
    Redis内存
  • redis是内存缓存吗
    是的,redis 是一款内存缓存。它将数据存储在内存中,提供高速读写访问、低延迟,并支持多种数据结构。广泛用于缓存、消息队列、会话管理和排名列表等应用程序中。 Redis 是内存缓存吗...
    99+
    2024-04-20
    mysql redis
  • redis内存数据库
    ===> Redis内存数据库简介:             &nbs...
    99+
    2024-04-02
  • 【redis】内存回收机制
    https://blog.csdn.net/tr1912/article/details/81267910...
    99+
    2021-02-15
    【redis】内存回收机制
  • Redis内存如何使用
    Redis内存如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  Redis内存怎么使用  如果 Redis 使用的内存...
    99+
    2024-04-02
  • Redis内存回收策略
    目录概述maxmemory-policy 参数主动清理策略策略选择maxmemory-sample概述 Redis也会因为内存不足而产生错误 , 也可能因为回收过久而导致系统长期的停...
    99+
    2024-04-02
  • redis缓存在内存还是硬盘
    redis 采用内存存储模型,具备低延迟、高吞吐量和可扩展性。此外,其键值存储和内存淘汰机制确保了内存的有效利用,使其适合需要快速数据访问的应用。 Redis 缓存在内存 Redis ...
    99+
    2024-04-19
    redis 数据访问 并发请求 键值对
  • redis内存满了怎么办?
    redis内存满了怎么办?相信很新手在遇到这个问题的时候束手无策,小编给大家总结了以下内容。如下资料是关于解决redis内存满了的内容。redis内存满了服务会宕机,根据官方提供的参数可以避免因为内存满而导...
    99+
    2024-04-02
  • 如何优化redis的内存
    一、特殊编码:自从Redis 2.2之后,很多数据类型都可以通过特殊编码的方式来进行存储空间的优化。其中,Hash、List和由Integer组成的Sets都可以通过该方式来优化存储结构,以便占用更少的空间...
    99+
    2024-04-02
  • Redis的内存模型概述
    这篇文章主要介绍“Redis的内存模型概述”,在日常操作中,相信很多人在Redis的内存模型概述问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis的内存模型概述”的疑惑...
    99+
    2024-04-02
  • zabbix怎么监控redis内存
    这篇文章主要介绍了zabbix怎么监控redis内存的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇zabbix怎么监控redis内存文章都会有所收获,下面我们一起来看看吧。1、导入模板直接下载,通过下面的步骤导...
    99+
    2023-06-27
  • redis内存满了怎么办
    当redis内存已满时:清理不需要的数据增加redis实例的内存大小使用持久化优化数据结构减少客户端连接监控和调整 Redis内存已满的解决办法 当Redis的内存被占满时,会出现性能...
    99+
    2024-05-21
    redis 内存占用 数据丢失
  • redis满内存怎么解决
    当 redis 内存已满时,可以通过以下方法解决:优化数据结构以减少内存占用;调整内存大小以分配更多内存或释放内存空间;分片和复制以分散内存负载;使用外部缓存以减少 redis 内存消耗...
    99+
    2024-05-21
    redis 内存占用 键值对
  • redis满内存怎么处理
    当 redis 内存达到上限时,它将采取下列步骤:使用驱逐策略(如 lru、ttl 或随机选择)驱逐键值对。根据键的大小、过期时间和访问频率选择要驱逐的键值对。回收被驱逐键值对占用的内存...
    99+
    2024-06-03
    redis 键值对
  • redis满内存怎么解除
    解决 redis 满内存问题的方法包括:识别满内存原因:大型数据集缓慢客户端内存泄漏配置错误采取解决方案:减少数据集优化客户端性能修复内存泄漏调整 maxmemory 配置避免紧急情况:...
    99+
    2024-06-03
    redis
  • redis如何做内存优化
    为了优化 redis 内存使用,可以采取以下措施:使用合适的数据结构,例如散列表、列表、压缩列表或哈希表。启用压缩功能以压缩重复数据。使用对象共享来存储相似的对象。限制键的数量并使用哈希...
    99+
    2024-06-12
    redis 数据丢失
  • 【Redis】 redis解析rdb文件,内存排序等
    工具git地址为https://github.com/sripathikrishnan/redis-rdb-tools 解析rdf文件 > rdb --command json /v...
    99+
    2024-04-02
  • redis缓存内存占满的解决方法
    这期内容当中的小编将会给大家带来有关redis缓存内存占满的解决方法,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。缓存数据满了怎么办首先要明确,用作缓存的数据都是设置了过期时间的,没有...
    99+
    2024-04-02
  • redis内存满了会怎么样
    redis内存满了服务会宕机,根据官方提供的参数可以避免因为内存满而导致服务宕机。Redis仅支持单实例,内存一般最多10~20GB。 (推荐学习:Redis视频教程)redis设置配置文件...
    99+
    2015-04-23
    redis
  • redis内存超过maxmemory怎么办?
                                 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作