多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 查询缓存 [上一页](# "上一页")[下一页](# "下一页") 对于及时性要求不高的数据查询,我们可以使用查询缓存功能来提高性能,而且无需自己使用缓存方法进行缓存和获取。 新版内置的查询缓存功能支持所有的数据库,并且支持所有的缓存方式和有效期。 在使用查询缓存的时候,只需要调用Model类的cache方法,例如:`$Model->cache(true)->select();`如果使用了cache(true) ,则在查询的同时会根据当前的查询SQL生成查询缓存,默认情况下缓存方式采用DATA_CACHE_TYPE参数设置的缓存方式(系统默认值为File表示采用文件方式缓存),缓存有效期是DATA_CACHE_TIME 参数设置的时间,也可以单独制定查询缓存的缓存方式和有效期:`$Model->cache(true,60,'xcache')->select();`表示当前查询缓存的缓存方式为xcache,并且缓存有效期为60秒。 同样的查询,如果没有使用cache方法,则不会获取或者生成任何缓存,即便是之前调用过Cache方法。 查询缓存只是供内部调用,如果希望查询缓存开放给其他程序调用,可以指定查询缓存的Key,例如:`$Model->cache('cache_name',60)->select();`则可以在外部通过S方法直接获取查询缓存的内容,`$value = S('cache_name');`除了select方法之外,查询缓存还支持find和getField方法,以及他们的衍生方法(包括统计查询和动态查询方法)。具体应用的时候可以根据需要选择缓存方式和缓存有效期。 [上一页](# "上一页")[下一页](# "下一页")