本文主要和你們分享php Cache 類實例詳解,但願能幫助你們更好理解cache的使用方法。更多的PHP學習點擊這裏,天天都有直播課能夠免費學習
一、實例化php
`$cache` `=` `new` `Cache();`
二、設置緩存時間和緩存目錄緩存
`$cache` `=` `new` `Cache(60,` `'/any_other_path/'``);`
第一個參數是緩存秒數,第二個參數是緩存路徑,根據須要配置。
默認狀況下,緩存時間是 3600 秒,緩存目錄是 cache/
三、讀取緩存學習
`$value` `=` `$cache``->get(``'data_key'``);`
四、寫入緩存this
`$value` `=` `$cache``->put(``'data_key'``,` `'data_value'``);`
完整實例:code
`$cache` `=` `new` `Cache();` `//從緩存從讀取鍵值 $key 的數據` `$values` `=` `$cache``->get(``$key``);` `//若是沒有緩存數據` `if` `(``$values` `== false) {` `//insert code here...` `//寫入鍵值 $key 的數據` `$cache``->put(``$key``,` `$values``);` `}` `else` `{` `//insert code here...` `}` `<?php` `class` `Cache {` `private` `$cache_path``;``//path for the cache` `private` `$cache_expire``;``//seconds that the cache expires` `//cache constructor, optional expiring time and cache path` `public` `function` `Cache(``$exp_time``=3600,``$path``=``"cache/"``){` `$this``->cache_expire=``$exp_time``;` `$this``->cache_path=``$path``;` `}` `//returns the filename for the cache` `private` `function` `fileName(``$key``){` `return` `$this``->cache_path.md5(``$key``);` `}` `//creates new cache files with the given data, $key== name of the cache, data the info/values to store` `public` `function` `put(``$key``,` `$data``){` `$values` `= serialize(``$data``);` `$filename` `=` `$this``->fileName(``$key``);` `$file` `=` `fopen``(``$filename``,` `'w'``);` `if` `(``$file``){``//able to create the file` `fwrite(``$file``,` `$values``);` `fclose(``$file``);` `}` `else` `return` `false;` `}` `//returns cache for the given key` `public` `function` `get(``$key``){` `$filename` `=` `$this``->fileName(``$key``);` `if` `(!``file_exists``(``$filename``) || !``is_readable``(``$filename``)){``//can't read the cache` `return` `false;` `}` `if` `( time() < (``filemtime``(``$filename``) +` `$this``->cache_expire) ) {``//cache for the key not expired` `$file` `=` `fopen``(``$filename``,` `"r"``);``// read data file` `if` `(``$file``){``//able to open the file` `$data` `=` `fread``(``$file``,` `filesize``(``$filename``));` `fclose(``$file``);` `return` `unserialize(``$data``);``//return the values` `}` `else` `return` `false;` `}` `else` `return` `false;``//was expired you need to create new` `}` `}` `?>`