• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

Next
Prev

ThinkPHP6使用redis缓存_一个小菜鸟x的博客_tp6使用redis

Data: 2020-11-27 20:00:35Form: JournalClick: 10

ThinkPHP6使用redis缓存
ThinkPHP6使用redis缓存_一个小菜鸟x的博客-CSDN博客_tp6使用redis

 

 

php安装redis扩展

redis命令

tp6缓存配置

1、安装redis扩展后运行

2、修改配置目录config下面的cache.php文件

  1. return [

  2.     'default' => 'file',

  3.     'stores' => [

  4.         // 文件缓存

  5.         'file' => [

  6.             // 驱动方式

  7.             'type' => 'file',

  8.             // 设置不同的缓存保存目录

  9.             'path' => '../runtime/file/',

  10.         ],

  11.         // redis缓存

  12.         'redis' => [

  13.             // 驱动方式

  14.             'type' => 'redis',

  15.             // 服务器地址

  16.             'host' => '127.0.0.1',

  17.             // 端口号

  18.             'port' => '6379',

  19.             // 密码

  20.             'password'=> "",

  21.             // 默认缓存时间

  22.             'timeout' => 3600

  23.         ],

  24.     ],];

3、上代码

很好理解  先获取redis的key,第一次查肯定是没有的,就从Mysql查询,然后设置key,再查询就读取key。

一句话:有缓存读取缓存,没有就查询数据(个人理解)

  1. /**

  2. * 查询商家信息

  3. * @param $id 商家id

  4. */

  5. public function getStoreInfo(Request $request)

  6. {

  7.     $validate = new CommonValidate([

  8.         'id' => 'require|integer',

  9.     ]);

  10.     if (!$validate->check($request->param())) {

  11.         return api_json(1, $validate->getError());

  12.     }

  13.     $store_id = $request->param('id');

  14.     $redis = new Redis();

  15.     // 获取redis缓存

  16.     $store_info = $redis->get('getStoreInfo' . $store_id);

  17.     if (!$store_info) {

  18.         $store_info = StoreModel::where(['store_id' => $request->param('id')])->find()->toArray();

  19.         // 设置redis缓存 第一个参数 key,这里设置的是方法名拼接上传过来的商家id,防止重复,第二个参数就是 值

  20.         $redis->set('getStoreInfo' . $store_id, $store_info,10); //设置10秒过期 不填默认0为永久缓存

  21.         return api_json('0', 'mysql', $store_info);

  22.     } else {

  23.         return api_json('0', 'reids', $store_info);

  24.     }

  25.  

  26. }

4、查看效果

第一次访问

cmd命令行查看所有key 

 存到redis成功

10s内刷新页面 查询数据,读的redis缓存

10s后

 

 

Name:
<提交>