ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 查询缓存 [上一页](139.html "上一页")[下一页](141.html "下一页") 对于及时性要求不高的数据查询,我们可以使用查询缓存功能来提高性能,而且无需自己使用缓存方法进行缓存和获取。 新版内置的查询缓存功能支持所有的数据库,并且支持所有的缓存方式和有效期。 在使用查询缓存的时候,只需要调用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方法,以及他们的衍生方法(包括统计查询和动态查询方法)。具体应用的时候可以根据需要选择缓存方式和缓存有效期。 [上一页](139.html "上一页")[下一页](141.html "下一页")