Home >Backend Development >PHP Tutorial >PHP operation memcache cache method sharing, memcache cache_PHP tutorial
The prerequisite for using memcache is to configure the memcahche environment on the server first! After confirming that memcahce can be connected normally, you can use it in the program!
<?php /** * Memcache缓存操作 * @author hxm * @version 1.0 * @since 2015.05.04 */ class MCache extends Object implements CacheFace { private $mem = null; //Mem对象 private $sId = 1; //servier服务ID /** * 初始化Memcache * * @return Object */ public function __construct() { if ( !class_exists('Memcache') ) { throw new QException('PHP extension does not exist: Memcache'); } $this->mem = new Memcache(); } /** * 链接memcahce服务 * * @access private * @param string $key 关键字 * @param string $value 缓存内容 * @return array */ private function connect( $sid ) { $file = $this->CacheFile(); require $file; if(! isset($cache) ) { throw new QException('缓存配置文件不存在'.$file); } $server = $cache[$this->cacheId]; $sid = isset($sid) == 0 ? $this->sId : $sid;//memcache服务选择 if ( ! $server[$sid]) { throw new QException('当前操作的缓存服务器配置文件不存在'); } $host = $server[$sid]['host']; $port = $server[$sid]['port']; try { $this->mem->connect( $host , $port ); } catch (Exception $e) { exit('memecache连接失败,错误信息:'. $e->getMessage()); } } /** * 写入缓存 * * @access private * @param string $key 关键字 * @param string $value 缓存内容 * @return array */ public function set( $key , $value , $sid , $expire = 0) { $data = $this->get($key , $sid); //如果已经存在key值 if( $data ) { return $this->mem->set( $key , $value ,MEMCACHE_COMPRESSED , $expire); } else { return $this->mem->add( $key , $value ,MEMCACHE_COMPRESSED , $expire); } } /** * 读取缓存 * * @access private * @param string $key 关键字 * @param int $sid 选择第几台memcache服务器 * @return array */ public function get( $key , $sid) { $this->connect( $sid ); return $this->mem->get($key); } /** * 清洗(删除)已经存储的所有的元素 * * @access private * @return array */ public function flush() { $this->connect(); return $this->mem->flush(); } /** * 删除缓存 * * @access private * @param string $key 关键字 * @param int $sid 选择第几台memcache服务器 * @return array */ public function remove( $key , $sid) { $this->connect(); return $this->mem->delete($key); } /** * 析构函数 * 最后关闭memcache */ public function __destruct() { /*if(! $this->mem) { $this->mem->close(); }*/ } }
The above is the entire content of this article, I hope you all like it.