我一直在尝试清除我的内存缓存,因为我注意到使用时存储占用了近 30% 的服务器内存ps -aux
.
所以我运行了以下 php 代码。
$memcache = new Memcache;
$memcache->connect("localhost",11211);
$memcache->flush();
print_r($memcache->getStats());
这导致输出
(
[pid] => 4936
[uptime] => 27318915
[time] => 1255318611
[version] => 1.2.2
[pointer_size] => 64
[rusage_user] => 9.659531
[rusage_system] => 49.770433
[curr_items] => 57864
[total_items] => 128246
[bytes] => 1931734247
[curr_connections] => 1
[total_connections] => 128488
[connection_structures] => 17
[cmd_get] => 170288
[cmd_set] => 128246
[get_hits] => 45464
[get_misses] => 124824
[evictions] => 1009
[bytes_read] => 5607431213
[bytes_written] => 1806543589
[limit_maxbytes] => 2147483648
[threads] => 1
)
这应该是相当基本的,但显然,我遗漏了一些东西。
您确实需要更改 memcached 设置,以便它不会占用太多内存。当您启动 memcached 时,您可以使用以下命令向其传递应使用的内存量(以兆字节为单位):-m
旗帜。看它的文档 http://www.danga.com/memcached/供参考。
flush
只是使缓存中的所有项目无效,它不会命令 memcached 取消分配或取消保留它正在使用的内存。我怀疑您是否可以命令 memcached 释放它正在使用的内存。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)