Redis 内存有 10G,当你删除了 1GB 的 key 后,再去观察内存,发现内存变化不会太大

伟洪winni 2020-08-06 10:01:56

如果当前 Redis 内存有 10G,当你删除了 1GB 的 key 后,再去观察内存,你会发现
内存变化不会太大。原因是操作系统回收内存是以页为单位,如果这个页上只要有一个 key
还在使用,那么它就不能被回收。Redis 虽然删除了 1GB 的 key,但是这些 key 分散到了
很多页面中,每个页面都还有其它 key 存在,这就导致了内存不会立即被回收。


那要怎么才能立即回收这1G内存?
...全文
6728 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeepSayingNo 2020-08-14
  • 打赏
  • 举报
回复
这个不需要你管吧,即使这1G内存没被回收,下次向REDIS存数据,可以利用这1G内存
大隐藏于寺 2020-08-13
  • 打赏
  • 举报
回复
引用 楼主 伟洪winnie 的回复:

如果当前 Redis 内存有 10G,当你删除了 1GB 的 key 后,再去观察内存,你会发现
内存变化不会太大。原因是操作系统回收内存是以页为单位,如果这个页上只要有一个 key
还在使用,那么它就不能被回收。Redis 虽然删除了 1GB 的 key,但是这些 key 分散到了
很多页面中,每个页面都还有其它 key 存在,这就导致了内存不会立即被回收。
那要怎么才能立即回收这1G内存?
你可以使用memory purge试下,不过这个命令需要redis使用的jemalloc内存分配器
oh_Maxy 版主 2020-08-13
  • 打赏
  • 举报
回复
不用管,你新增的key会占用释放的位置。

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧