ThinkPHP5框架缓存查询操作分析

时间:2022-04-22 14:04:43

本文实例讲述了ThinkPHP5框架缓存查询操作。分享给大家供大家参考,具体如下:

缓存设置与使用:

1、在\application\config.php中设置如下:

'cache' => [
  // 使用复合缓存类型
  'type' => 'complex',
  // 默认使用的缓存
  'default'  => [
    // 驱动方式
    'type'  => 'File',   //!!在这设置换人的缓存方式
    // 缓存保存目录
    'path'  => CACHE_PATH,
  ],
  // 文件缓存
  'file'  => [
    // 驱动方式
    'type'  => 'file',
    // 设置不同的缓存保存目录
    'path'  => RUNTIME_PATH . 'file/',
  ],
  // redis缓存
  'redis'  => [
    // 驱动方式
    'type'  => 'redis',
    // 服务器地址
    'host'    => '127.0.0.1',
  ],
],

2、控制器中

use \think\Cache;

3、控制器中使用

Cache::set('name', 'tom',3600);
Cache::get('name');

缓存查询:

1、简单缓存查询:

在任意控制器里(若想在model里完成数据查询也可以,需使用Db类)

public function cacheSelect()
{
  $_data = db('表名')->cache(60)->find();
  dump($_data);
  //60s内在缓存里提取数据,不必再从数据库查询
}

2、设置指定缓存标识,使查询更有效率,使用更加方便:

public function cacheSelect()
{
  $result = db('表名')->cache('随意字符')->where('id','<', 10)->select();
}
//cacheKey方法为任意控制器的任意方法
public function cacheKey(){
  //在其他地方直接调用查出来的数据,避免再次查询:
  $data = \think\Cache::get('随意字符');
  dump($data);
}

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。