我考虑了很久。
我想我不能使用所有需要在我的远程 Linux 服务器上安装一些东西的 API/PHP 扩展(例如 memcache、APC、Xcache),因为我的 Web 主机服务器是共享服务器,我只能做就是把文件/脚本放在httpdocs文件夹下。
有什么建议可以让我以编程方式使用缓存和访问内存吗?
其实我的目的是找一个“地方”来保存一些数据,比进入DB取数据访问速度更快,同时也减少DB的负担。 这意味着,如果有人可以提供任何其他有效的建议,则不是必须使用内存。例如使用文本文件会是一个不错的选择吗?(其实我只是猜测)
我的PHP版本是5.2.17。我正在使用 MySQL 数据库。
希望有人能给我建议
最佳答案
平面文件永远是最简单的缓存方式,但它比直接从内存中访问数据要慢。您可以使用存储在内存中的 MySQL 表。您需要将表使用的引擎更改为内存。请注意,只有当您的数据库与 Web 服务器位于同一台服务器上时,这才有效。
建立一个内存表,有两列键和值。变量名将是一个键,其内容是值。如果您需要缓存数组,则对象会在存储数据之前序列化数据。
如果您需要限制内存表的大小,请再添加一列 hitCount。对于每个读取,将计数增加一个。插入新行时,检查最大行数,如果达到限制,则删除 hitCount 最低的行。
要检查哪个更快(文件缓存或内存缓存),请使用以下代码
<?php
function getTime()
{
$a = explode (' ',microtime());
return(double) $a[0] + $a[1];
}
?>
<?php
$Start = getTime();
//Data fetching tasks comes here
$end = getTime();
echo "time taken = ".number_format(($End - $Start),2)."seconds";
?>
如果可能,让我们知道它的效率如何......谢谢
关于php - 对我在用 PHP 运行的 Web 服务器中缓冲数据有什么建议吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9543951/