php Cache 类实例详解

本文主要和你们分享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`

`}`

`}`

`?>`
相关文章
相关标签/搜索