Memory management 是否需要重新启动redis以释放内存?
我最近遇到了一个问题,op询问redis在哪些场景中释放内存。似乎他们被建议硬启动是一种潜在的方式,但这在redis的案例中还没有经过测试。有人能告诉我这是否有效吗Memory management 是否需要重新启动redis以释放内存?,memory-management,redis,Memory Management,Redis,我最近遇到了一个问题,op询问redis在哪些场景中释放内存。似乎他们被建议硬启动是一种潜在的方式,但这在redis的案例中还没有经过测试。有人能告诉我这是否有效吗 我有一个实时环境,我不想重新启动redis服务器,但它的内存足迹现在正在削弱,我正处于服务器迁移的边缘。所以,对我来说,尽可能多地去除浮肿是很重要的(而且还有一吨浮肿) 我不知道你所说的“膨胀”是什么意思,但是附加服务器的INFO ALL输出可能会有所帮助 默认情况下,Redis使用jemalloc作为内存分配器。在Redis释放R
我有一个实时环境,我不想重新启动redis服务器,但它的内存足迹现在正在削弱,我正处于服务器迁移的边缘。所以,对我来说,尽可能多地去除浮肿是很重要的(而且还有一吨浮肿) 我不知道你所说的“膨胀”是什么意思,但是附加服务器的
INFO ALL
输出可能会有所帮助
默认情况下,Redis使用jemalloc作为内存分配器。在Redis释放RAM后,分配器负责实际释放RAM供操作系统回收。Redis v4及更高版本包括强制分配器清除释放的RAM的功能(内存清除
,请参阅)
不管清除,还有内存碎片的问题。虽然v4具有实验性的主动碎片整理功能,但重启是“修复”以前版本中的问题的方法
为了减轻重启和停机时间,请使用Redis“复制”创建一个从机,并在重启原始主机之前将应用程序故障切换到该从机。没有什么太神秘的,我说的“膨胀”只是指我有一堆不再使用的密钥。啊-或者更严格一点w。管家和/或使用TTL:)从未说过更真实的话