前言


一、资源

Ref: https://www.imooc.com/video/2870

二、缓存

缓存:静态缓存、Memcache、redis缓存

Ref: [Laravel] 09 - Functional models

put(), add(), forever(), has(), get(), pull(), forget()
配置文件:[config/cache.php]

注意,本篇的缓存是php,而非基于laravel。

静态缓存


一、生成静态缓存

获取文件的当前目录:dirname(__FILE__)

目录操作:is_dir(), mk_dir()

写文件:file_put_contents ----> ref: http://www.runoob.com/php/func-filesystem-file-put-contents.html

<?php

class File {
private $_dir;
const EXT = '.txt'; public function __construct() {
$this->_dir = dirname(__FILE__) . '/files/';
}

public function cacheData($key, $value = '', $cacheTime = 0) {
$filename = $this->_dir . $key . self::EXT;

     // 写!
if($value !== '') { // 删!
if(is_null($value)) {
return @unlink($filename);
} // (1).创建目录
$dir = dirname($filename);
if(!is_dir($dir)) {
mkdir($dir, 0777);
} $cacheTime = sprintf('%011d', $cacheTime); // (2).以json字符串的形式写入到file中
return file_put_contents($filename, $cacheTime . json_encode($value));
}      --------------------------------------------------------------------------

// 读!
if(!is_file($filename)) {
return FALSE;
}
$contents = file_get_contents($filename);
$cacheTime = (int)substr($contents, 0 ,11);
$value = substr($contents, 11);
if($cacheTime !=0 && ($cacheTime + filemtime($filename) < time())) {
unlink($filename);
return FALSE;
}  
return json_decode($value, true); }
} $file = new File(); echo $file->cacheData('test1');  # 使用cacheData

cacheData的另一个使用:生成了 index_mk_cache.txt

<?php

require_once('./file.php');

$data = array(
  'id' => 1,
  'name' => 'singwa',
  'type' => array(4,5,6),
  'test' => array(1,45,67 => array(123, 'tsysa'),),
};

----------------------------------------------------
$file = new File();
if($file->cacheData('index_mk_cache', $data)) {
  echo "success";
} else {
  echo "err";
}

二、获取静态缓存

没有第二个参数,就表示是”获取“。

$file = new File();
if($file->cacheData('index_mk_cache')) {
  echo "success";
} else {
  echo "err";
}

三、删除静态缓存

删除文件的函数:

unlink($filename);

Memcache、Redis缓存


一、简介

二、开启Redis服务

  • 打开redis的端口服务
redis-server 6379.conf
  • 进入安装目录
cd /wxh/redis-stable/src
  • 进入命令行
$ redis-cli
127.0.0.1:6379

三、终端链接Redis

Set and Get

12sec后超时删除,del手动删除

四、PHP连接Redis

Step 01: 安装phpredis扩展。

Step 02:

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('singwal', 123); $redis->setex('singwa2', 15, 'xxxxxx');

Step 03:

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->get('singwal');
var_dump($redis->get('singwal');

五、操作 Memcache

方式一

连接:memcache_connect()

设置:memcache_set()

获取:memcache_get()

方式二

连接:memcache_obj->connect()

设置:memcache_obj->set()

获取:memcache_obj->get()

定时任务


一、简介

在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。
cron的配置文件称为“crontab”,是“cron table”的简写。

  • 定时格式

  • 定时例子

二、Crontab操作

  • cron服务

cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。

  service crond start    //启动服务
  service crond stop //关闭服务
  service crond restart //重启服务
  service crond reload //重新载入配置
  service crond status //查看服务状态
  • 写定时任务
sudo crontab -e
  • 列出定时任务
sudo crontab -l
  • 删掉所有的定时任务
sudo crontab -r
  • 示范

利用Crontab定时执行该文件即可

[Laravel] 11 - WEB API : cache & timer的更多相关文章

  1. [Laravel] 12 - WEB API : cache implement

    前言 Ref: https://www.imooc.com/video/2873 服务端如何为客户端(app)的首页提供数据接口, 本篇用此作为例子演示接口的实现. 单例模式 一.三大原则 单例实现 ...

  2. [Laravel] 10 - WEB API : wrapper

    前言 一.常用的解决方案 React 前端 + PHP (Laravel) 后端 Such as "some exposure to WEB API’s and/or RESTful“. 使 ...

  3. [Laravel] 13 - WEB API : update & error tracking

    前言 一.大纲 Ref: https://www.imooc.com/video/3134 版本升级分析以及数据表设计 版本升级分析 掌握如何设计版本升级数据表 版本升级接口开发以及APP演示 二.数 ...

  4. [Laravel] 14 - REST API: Laravel from scratch

    前言 一.基础 Ref: Build a REST API with Laravel API resources Goto: [Node.js] 08 - Web Server and REST AP ...

  5. [转]Web API OData V4 Keys, Composite Keys and Functions Part 11

    本文转自:https://damienbod.com/2014/09/12/web-api-odata-v4-keys-composite-keys-and-functions-part-11/ We ...

  6. 返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作

    原文:返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, ...

  7. Asp.Net Web API中使用Session,Cache和Application的几个方法

    在ASP.NET中,Web Api的控制器类派生于ApiController,该类与ASP.NET的Control类没有直接关系,因此不能像在Web MVC中直接使用HttpContext,Cache ...

  8. ABP 教程文档 1-1 手把手引进门之 AngularJs, ASP.NET MVC, Web API 和 EntityFramework(官方教程翻译版 版本3.2.5)含学习资料

    本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 转载请注明出处:http://www.cnblogs.com/yabu007/  谢谢 官方文档分四部分 一. 教程文档 二.ABP 框架 三. ...

  9. [水煮 ASP.NET Web API2 方法论](1-1)在MVC 应用程序中添加 ASP.NET Web API

    问题 怎么样将 Asp.Net Web Api 加入到现有的 Asp.Net MVC 项目中 解决方案 在 Visual Studio 2012 中就已经把 Asp.Net Web Api 自动地整合 ...

随机推荐

  1. C# abstract virtual override new finally java final finalize

    virtual:声明虚方法.可以被其派生类所重写的.重写方法需要使用override或者new关键字. override:覆盖原方法.可对重写virtual.override.abstract进行重写 ...

  2. Zookeeper学习笔记——2 Shell和Java API的使用

    ZooKeeper的使用一般都接触不到,因为平时工作甚少直接使用ZK.但是通过手动操作一下ZK,还是能对其中的门道了解各一二. shell 常用命令 help 查看所有支持的命令 [zk: local ...

  3. 加密入门(三):TrueCrypt(转)

    http://terrychen.info/encryption-truecrypt/ TrueCrypt 是一款功能强大的开源加密工具,利用 TrueCrypt 可以创建一个加密文件作为虚拟加密卷, ...

  4. 高性能JavaScript之DOM编程

    我们知道.DOM是用于操作XML和HTML文档的应用程序接口,用脚本进行DOM操作的代价非常昂贵. 有个贴切的比喻.把DOM和JavaScript(这里指ECMScript)各自想象为一个岛屿,它们之 ...

  5. 基础知识:什么是ASP.NET Razor页面?

    Razor页面与ASP.NET MVC开发使用的视图组件非常相似,它们具有所有相同的语法和功能. 最关键的区别是模型和控制器代码也包含在Razor页面中.它更像是一个MVVM(Model-View-V ...

  6. 启动exe

    public void OpenTabTip(){    bool bt = true;    Process[] processes = Process.GetProcesses();    for ...

  7. tensorflow 中 reduce_sum 理解

    定义如下: reduce_sum( input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None ) redu ...

  8. 链接选项-rpath的一个问题记录

    问题简述 大概是这么一个情况,有一个过去已经写好的程序,这个程序用于处理网络通信,接收一些操作指令.具体的指令操作通过运行时加载动态库的形式进行扩展.(类似于net-snmp二次开发的一种形式) 问题 ...

  9. MySQL5.7在JSON解析后丢失小数部分的Bug

    在MySQL Bugs上提交了 https://bugs.mysql.com/bug.php?id=84935 . 已经在MySQL8.0.1中修复 重现步骤 -- Prepare the table ...

  10. 【C#】C#中的属性与字段

    目录结构: contents structure [+] 属性和字段的区别 无参属性 自动实现的属性 对象和集合初始化器 匿名类型 System.Tuple类型 有参属性 属性的可访问性 在这篇文章中 ...