详解 Redis 内存管理机制和实现

  1. 云栖社区>
  2. Redis&MongoDB社区>
  3. 博客>
  4. 正文

详解 Redis 内存管理机制和实现

carpediem123 2019-10-28 22:25:25 浏览3136
展开阅读全文

Redis是一个基于内存的键值数据库,其内存管理是非常重要的。本文内存管理的内容包括:过期键的懒性删除和过期删除以及内存溢出控制策略。

最大内存限制

Redis使用 maxmemory 参数限制最大可用内存,默认值为0,表示无限制。限制内存的目的主要 有:

  • 用于缓存场景,当超出内存上限 maxmemory 时使用 LRU 等删除策略释放空间。
  • 防止所用内存超过服务器物理内存。因为 Redis 默认情况下是会尽可能多使用服务器的内存,可能会出现服务器内存不足,导致 Redis 进程被杀死。
    1_jpeg

maxmemory 限制的是Redis实际使用的内存量,也就是 used_memory统计项对应的内存。由于内存碎片率的存在,实际消耗的内存 可能会比maxmemory设置的更大,实际使用时要小心这部分内存溢出。具体Redis 内存监控的内容请查看一文了解

网友评论

登录后评论
0/500
评论
carpediem123
+ 关注
所属团队号: Redis&MongoDB社区