c#输出缓存等效于php


c# outputcache equivalent in php?

我正试图找出如何缓存'聊天'为一个网站,使用php,和传递的变量需要有每个变量的唯一版本。例如:id1的聊天缓存不应该与id2相同,因为id1不需要看到id2s的私人消息。

在c#中,您可以使用类似于:

<%@ OutputCache Duration="4" VaryByParam="param1;param3" %>

这将缓存页面4秒,并且如果在缓存的页面中param1和param3不同,将缓存唯一的副本。

在php中有这样的东西吗?

PHP没有内置输出缓存之类的东西;您必须编写自己的实现(这对于您正在谈论的事情来说并不太难)或使用现有的实现。我相信Smarty模板引擎也有类似的内置功能,但是现在实现这样的功能可能已经太迟了。

如果你打算写自己的实现,我建议使用memcached来缓存你的数据;然后为缓存的HTML创建如下键:

$cachekey = "chat_param1:"。param1美元。"-param3:"。美元param3);

这样,您就可以为param1和param3的每个可能值提供一个唯一的键。