1

我正在尝试使用http://www.phpfastcache.com/在页面上缓存查询。

我在页面上没有收到任何错误,并且文件正在它需要的 cached.storage 文件夹中成功创建,但是当我在查询中更改数据时,它不会缓存数据。我究竟做错了什么?

include_once("php_fast_cache.php");
phpFastCache::$storage = "auto";

$getItemsQuery = phpFastCache::get("$itemId");
if($getItemsQuery == null) {
    $getItemsQuery = mysql_query("select item_id, item_name from items where item_id = $itemId");
    phpFastCache::set("$itemId", $getItemsQuery,86400);
}
4

1 回答 1

3

啊,你应该在缓存中缓存实际的“数据”,即从 mysql_fetch_assoc 等返回的数据。

尝试缓存从运行查询返回的“资源”将无济于事,因为调用“get”的下一个实例将无法使用该资源(即使它已被缓存——我对此表示怀疑)

...您看不到错误,因为“获取”失败,所以只需运行 mysql 查询。

可以忽略这里使用 mysql 扩展的问题。使用 mysqli 或 PDO 等会遇到以这种方式使用的完全相同的问题。

于 2013-11-08T20:27:57.793 回答