CACHE

cache方法用于查询缓存操作,也是连贯操作方法之一。

cache可以用于selectfindgetField方法,以及其衍生方法,使用cache方法后,在缓存有效期之内不会再次进行数据库查询操作,而是直接获取缓存中的数据,关于数据缓存的类型和设置可以参考缓存部分。

下面举例说明,例如,我们对find方法使用cache方法如下:

$Model = M("User");
$Model->where("id=5")->cache(true)->find();

第一次查询结果会被缓存,第二次查询相同的数据的时候就会直接返回缓存中的内容,而不需要再次进行数据库查询操作。

默认情况下, 缓存有效期和缓存类型是由DATA_CACHE_TIMEDATA_CACHE_TYPE配置参数决定的,但cache方法可以单独指定,例如:

$Model = M("User");
$Model->cache(true,60,"xcache")->find();

表示对查询结果使用xcache缓存,缓存有效期60秒。

cache方法可以指定缓存标识:

$Model = M("User");
$Model->cache("key",60)->find();

指定查询缓存的标识可以使得查询缓存更有效率。

这样,在外部就可以通过S方法直接获取查询缓存的数据,例如:

$Model = M("User");
$result = $Model->cache("key",60)->find();
$data = S("key");
文章导航