如何避免缓存成员信息


How to avoid caching the member info

我用ob_start();缓存一个动态php页面。它将缓存所有的html输出到;但是部分html输出不是静态数据,例如,成员信息通过login从$_SESSION输出。如何跳过缓存html的一部分?我是说如何在缓存的html中运行php代码?

我能想到的唯一方法是从html的中间开始ob_start();

<html>
<head>
meta data
</head>
<body>
member info (e.g. Welcome USERNAME)
------ start caching from here to the end
ob_start();
.
.
.
</html>

这是唯一的方法吗?

一种方法是在缓存中保留动态部分为空,但有一个包装器div,例如

<div id='member_info'></div>

现在你可以在文档加载时使用javascript填充动态部分。例如,使用jquery,

$(document).ready(function()
{
    var member_info_html = ''; //--generated dynamically with php
    $('#member_info').html(member_info_html);
});

如果你有一个动态页面,你不能把它缓存为静态文件。
只是不要这样缓存。

我怀疑你是否需要任何缓存。