Home >php教程 >PHP源码 >php redis 操作

php redis 操作

PHP中文网
PHP中文网Original
2016-05-26 08:18:342458browse

php redis 操作

redis = new Redis();
	}
	
	/**
	 * 链接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->redis->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->redis->getset( $key , $value);
		} else {
			return $this->redis->set( $key , $value);
		}
	}
	
	/**
	 * 读取缓存
	 *
	 * @access	private
	 * @param	string	$key  关键字
	 * @param   int     $sid  选择第几台memcache服务器
	 * @return	array
	 */
	public function get( $key , $sid)
	{
		$this->connect( $sid );
		return $this->redis->get($key);
	}
	
	/**
	 * 	清洗(删除)已经存储的所有的元素
	 *
	 * @access	private
	 * @return	array
	 */
	public function flush()
	{
		$this->connect();
		return $this->redis->flushall();
	}
	/**
	 * 删除缓存
	 *
	 * @access	private
	 * @param	string	$key  关键字
	 * @param   int     $sid  选择第几台memcache服务器
	 * @return	array
	 */
	public function remove( $key , $sid)
	{
		$this->connect();
		return $this->redis->del($key);
	}
	
	/**
	 * 析构函数
	 * 最后关闭memcache
	 */
	public function __destruct()
	{
		if($this->redis)
		{
			$this->redis->close();
		}
	}
}

                   

 以上就是php redis 操作的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn