首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我刷新页面时,内存使用量会得到更多,为什么?我怎么才能修好它呢?

当我刷新页面时,内存使用量会得到更多,为什么?我怎么才能修好它呢?
EN

Stack Overflow用户
提问于 2015-06-30 12:41:31
回答 2查看 137关注 0票数 2

我有一个名为memory_usage_test.php的文件。就像这样:

代码语言:javascript
复制
// memory_usage_test.php

 <?php
   echo memory_get_usage(); 
 ?>

当我运行它时,输出是58480,当我刷新页面时,输出将是58704。为什么?为什么会有更多?我怎么才能修好它呢?

编辑:

我是通过var_dump()完成的:这是我的新文件:

代码语言:javascript
复制
<?php
echo memory_get_usage().'<br>'; 
echo '<pre>';
var_dump($_SERVER);
?>

这是我的输出:

代码语言:javascript
复制
// just different

// ---------------------------first time-------------------------

 array(31)
 {
      ["REMOTE_PORT"]=>
      string(5) "62909"

      ["REQUEST_TIME"]=>
      int(1435672670)
 }

// ---------------------------refreshed-------------------------

 array(32)
 {

     ["HTTP_CACHE_CONTROL"]=> // This line is added
     string(9) "max-age=0"

      ["REMOTE_PORT"]=>
      string(5) "63644"

      ["REQUEST_TIME"]=>
      int(1435673309)
 }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-30 13:31:40

就连我也有同样的问题。这是由于浏览器缓存。您将在每个浏览器上看到不同的值。因为每个浏览器都有自己的缓存技术。打开新页时,请求标头不强制使用缓存控制参数。刷新时,浏览器将在请求标头中传递以下参数。

缓存-控制-最大年龄=0

即使您尝试了匿名模式,您也会看到第一次打开链接并刷新链接的不同结果。我试图通过禁用缓存来修复这个问题。会让你知道一旦做了。

您可以通过ini_set限制内存的使用(“内存限制”,);

票数 3
EN

Stack Overflow用户

发布于 2015-06-30 13:15:50

正如评论中“欺骗”所提示的那样:

这似乎是新请求/当前请求之间的区别。如果您在一个新的私有浏览器窗口中访问该页面,您会注意到它再次下降。如果您刷新,它会上升一次,并停留在那里。

如果您比较$_SERVER,您会注意到两种请求类型之间的变化。

第二个请求有一个额外的变量(至少在我的机器上):

代码语言:javascript
复制
'HTTP_CACHE_CONTROL' => "max-age=0" 

这也许可以解释为什么会有一点点额外的记忆。

老实说,这里真正的答案是:这不重要。这是一个如此微小的差别,而不像它不断上升。它只是服务器处理后续请求的方式不同于新请求(正如预期的那样),因为您的浏览器将以不同的方式请求页面(由于缓存控制头)。这是正常的,也是预料之中的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31138633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档