如果使用了cache(true),则在查询的同时会根据当前的查询条件等信息生成一个带有唯一标识的查询缓存,如果指定了key的话,则直接生成名称为key的查询缓存。
$Model->cache('cache_name')->select();
默认情况下缓存方式采用DATA_CACHE_TYPE参数设置的缓存方式(系统默认值为File表示采用文件方式缓存),缓存有效期是DATA_CACHE_TIME参数设置的时间,也可以单独制定查询缓存的缓存方式和有效期。
$Model->cache(true,60,'xcache')->select();
如果指定了查询缓存的key的话,则可以在外部通过S方法直接获取查询缓存的内容。
$value = S('cache_name');
除了select方法之外,查询缓存还支持find和getField方法,以及他们的衍生方法(包括统计查询和动态查询方法)。
$Model->where($map)->cache('key',60)->find();