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