精易论坛
标题:
通用缓存对象,内存泄漏
[打印本页]
作者:
Mruos
时间:
2022-6-16 07:46
标题:
通用缓存对象,内存泄漏
本帖最后由 Mruos 于 2022-6-16 08:13 编辑
程序上使用,发现一直有内存泄漏。但测试【通用缓存对象】如下图:
1、创建内存缓存
2、加了60万数据,都是30秒过期(110mb内存占用)
3、数据过期后,内存没有下降,还是110mb
测试结果:
1、数据过期后,不会自动删除,还一直占用着内存;
2、调用清空(),内存下降正常;
3、删除(key),内存也可以下降;
建议:
修正:过期的数据自动删除
我添加了缓存,缓存的数据在30秒内我肯定使用完了,过期时间就是30,我就不用管了。。。。。如果过期了不自动删除,我总不能单独在写个延迟代码来删除或什么的吧。高并发、大量缓存更替过程中无法使用,因为内存泄漏肯定不行。。。
另外:
memcached,数据过期了内存也不会下降,而且调用删除了所有key,内存也没下降呢
[attach]1179700[/attach]
作者:
气质征服一切
时间:
2022-6-16 09:04
内存优化试过了吗
作者:
sinewtec
时间:
2022-6-16 09:06
不自动删 是减少不必要的申请和释放吧! 真正不用才自己释放全部 根据自己需求 不是每个场景都合适
作者:
外星人群控
时间:
2022-6-16 13:09
如果有需要,只能自己在另一个线程定时检查删除,有的人需要自动删除,有的人不允许自动删除
作者:
荭枫
时间:
2022-6-17 10:48
这种不自动释放实际是内存池技术 释放不是你想的立即释放
作者:
单排练心态
时间:
2022-7-26 08:29
这个不是立即释放的。 你是哪个版本。 比如你设置上限64M,实际上会使用128M的内存,会一直占用的。相当于分配了折磨多的内存空间预留了。 类似于线程池的概念。
欢迎光临 精易论坛 (https://125.confly.eu.org/)
Powered by Discuz! X3.4