一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

PHP開發(fā)APP接口(三):核心技術(shù)

 A芝蘭之室 2017-10-13

1)靜態(tài)緩存

保存在磁盤上的靜態(tài)文件,用PHP生成數(shù)據(jù)放入靜態(tài)文件中,以此減輕數(shù)據(jù)庫(kù)的壓力

1)PHP靜態(tài)文件緩存類

<?php
class File {
    private $_dir;             // 默認(rèn)路徑
    const EXT = '.txt';         // 文件后綴名
    public function __construct() {
        // dirname() 當(dāng)前文件目錄
        $this->_dir = dirname(__FILE__) . '/files/';     //默認(rèn)路徑為當(dāng)前文件下的files下
    }

    /**
     * [cacheData description]
     * @Author   ZJC
     * @DateTime 2017-02-15T10:31:38+0800
     * @param    [type]                   $key   [緩存文件文件名]
     * @param    string                   $value [緩存數(shù)據(jù)]
     * @param    string                   $path  [緩存路徑]
     * @return   [type]                          [description]
     */
    public function cacheData($key, $value = '', $path = '') {
        $filename = $this->_dir . $path .$key . self::EXT;

        if ($value !== '') {    // 將value值寫入緩存

            if(is_null($value)) {
                return @unlink($filename);
            }

            // 判斷是否存在文件目錄,如果不存在,則創(chuàng)建
            $dir = dirname($filename);
            if (!is_dir($dir)) {
                mkdir($dir, 0777);
            }

            // file_put_contents:將一個(gè)字符串寫入文件
            // int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
            // $data部分最好為字符串形式,因?yàn)椴恢С侄嗑S數(shù)組;(序列化,JSON都可以)
            return file_put_contents($filename, json_encode($value));   // c成功返回字節(jié)數(shù),失敗返回FALSE

        }
        if(!is_file($filename)) {   // 顯示緩存
            return FALSE;
        } else {
            return json_decode(file_get_contents($filename), true);
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46

2)調(diào)用方法

<?php 
    require_once('./file.php');
    $data = array(
        'id' => 1,
        'name' => 'singwa',
        'type' => array(4,5,6),
        'test' => array(1,45,67=>array(123, 'test')),
    );

    $file = new File();

    // 寫入緩存
    if($file->cacheData('index_mk_cache', $data)) {
        // var_dump($file->cacheData('index_mk_cache'));exit;
        echo "success";
    } else {
        echo "error";
    }

    // 查看緩存
    if($file->cacheData('index_mk_cache')) {
        var_dump($file->cacheData('index_mk_cache'));exit;
        echo "success";
    } else {
        echo "error";
    }

    // 刪除緩存
    if($file->cacheData('index_mk_cache', null)) {
        echo "success";
    } else {
        echo "error";
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

2)Memcache和Redis緩存技術(shù)

教程地址:https:///article-6719-1.html 、http://www.imooc.com/qadetail/119389

本人文章:http://www./visionz/redis-memcache/274193

    Memcache,Redis都需要安裝才能使用;

1. Memcache和Redis都是用來(lái)管理數(shù)據(jù)的(一種緩存服務(wù))
2. 他們數(shù)據(jù)都是存放在內(nèi)存里的(獲取速度快)
3. Redis可以定期將數(shù)據(jù)備份到磁盤(持久化)
4. Memcache只是簡(jiǎn)單的key/value緩存
5. Redis不僅僅支持簡(jiǎn)單的k/v類型的數(shù)據(jù),同時(shí)還提供list,set,hash等數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

如何操作數(shù)據(jù)

命令包括以下:

1. 開啟redis客戶端
2. 設(shè)置緩存值 - set index-mk-cache 數(shù)據(jù)
3. 獲取緩存數(shù)據(jù) - get index-mk-cache
4. 設(shè)置過(guò)期時(shí)間 - setex key 10 'cache'
5. 刪除緩存 - del key
  • 1
  • 2
  • 3
  • 4
  • 5

php操作Redis

1. 按照phpredis擴(kuò)展
2. php鏈接redis服務(wù)-connect(127.0.0.1, 6379)
3. set 設(shè)置緩存
4. get 獲取緩存
  • 1
  • 2
  • 3
  • 4

設(shè)置 redis 緩存,文件地址:/var/www/app/setCache.php

$redis = new Redis();
$redis->connect('192.168.2.110', 6379);

// 設(shè)置緩存
// $redis->set('vision', 123);

// 設(shè)置定期緩存,15秒失效
$redis->setex('vision2', 15, 'heoolshdfksjfl');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

獲取 redis 緩存,文件地址:/var/www/app/getCache.php

$redis = new Redis();
$redis->connect('192.168.2.110', 6379);

var_dump($redis->get('vision2'));
  • 1
  • 2
  • 3
  • 4

php操作Memcache

1. 安裝memcache擴(kuò)展
2. 鏈接服務(wù)-connect('memcache_host', 11211);
3. set 設(shè)置緩存
4. get 獲取緩存
  • 1
  • 2
  • 3
  • 4

設(shè)置和獲取 memcache 與 redis 相似,文件地址:/var/www/app/memcache.php

$memcache_obj = new Memcache;

/* connect to memcached server */
$memcache_obj->connect('127.0.0.1', 11211);

/*
設(shè)置'var_key'對(duì)應(yīng)值,使用即時(shí)壓縮
失效時(shí)間為50秒
*/
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 20);

echo $memcache_obj->get('var_key');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

3)定時(shí)任務(wù)

學(xué)習(xí)要點(diǎn)

1. 掌握如何設(shè)置定時(shí)任務(wù)常用命令
2. 掌握如何定時(shí)運(yùn)行PHP程序
  • 1
  • 2

定時(shí)任務(wù)命令

1. 定時(shí)任務(wù)服務(wù)提供crontab命令來(lái)設(shè)定服務(wù)
2. crontab -e    // 編輯某個(gè)用戶的cron服務(wù)
3. crontab -l    // 列出某個(gè)用戶cron服務(wù)的詳細(xì)內(nèi)容
4. crontab -r    // 刪除某個(gè)用戶的cron服務(wù)
  • 1
  • 2
  • 3
  • 4

crontab格式

分   小時(shí)    日     月  星期   命令
*      *     *      *    *      *
0-59  0-23  1-31   1-12  0-6   command

注:"*"代表取值范圍內(nèi)的數(shù)組
    "/"代表每、比如每分鐘等

*/1 * * * * /usr/bin/php /var/www/html/test.php
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    日本深夜福利视频在线| 国产午夜福利在线观看精品| 日韩中文字幕有码午夜美女| 国产av天堂一区二区三区粉嫩| 精品国产亚洲av久一区二区三区| 伊人欧美一区二区三区| 99秋霞在线观看视频| 亚洲精品欧美精品一区三区| 2019年国产最新视频| 日本精品中文字幕在线视频 | 高清一区二区三区四区五区| 日本在线视频播放91| 国产综合欧美日韩在线精品| 老司机这里只有精品视频| 亚洲国产精品一区二区| 中国日韩一级黄色大片| 欧美小黄片在线一级观看| 日韩一区二区三区观看| 色狠狠一区二区三区香蕉蜜桃| 91精品国产综合久久福利| 国产不卡最新在线视频| 国产熟女一区二区不卡| 亚洲中文字幕乱码亚洲| 熟女中文字幕一区二区三区| 青青操在线视频精品视频| 国产精品流白浆无遮挡| 日韩精品一区二区三区射精| 国产精品免费视频专区| 国产一级精品色特级色国产| 一区二区三区精品人妻| 韩国日本欧美国产三级| 国产av熟女一区二区三区蜜桃| 麻豆精品视频一二三区| 亚洲欧美日本视频一区二区| 日本欧美视频在线观看免费| 日韩中文无线码在线视频| 黄色国产一区二区三区| 国产日韩欧美专区一区| 亚洲精品成人午夜久久| av中文字幕一区二区三区在线 | 中文字幕精品一区二区年下载|