首页 >php教程 >PHP源码 >KVDB php class for SAE

KVDB php class for SAE

PHP中文网
PHP中文网原创
2016-05-26 08:18:261141浏览

KVDB PHP class for SAE    

<?php
class kvdb
{
	public $kvdb; //SAE kvdb

	public function __construct()
	{
		$this->kvdb = new SaeKV();
		$this->kvdb->init();
	}

	public function get($key)
	{
		return $this->kvdb->get($key);
	}

	public function set($key, $value)
	{
		return $this->kvdb->set($key, $value);
	}

	public function replace($key, $value)
	{
		return $this->kvdb->replace($key, $value);
	}

	public function delete($key)
	{
		return $this->kvdb->delete($key);
	}

	public function mget($array)
	{
		return $this->kvdb->mget($array);
	}

	public function pkrget($prefix, $num=10, $offset=&#39;&#39;)
	{
		return $this->kvdb->pkrget($prefix, $num, $offset);
	}

	public function errmsg()
	{
		return $this->kvdb->errmsg();
	}


	/**
	 * kvdb cache
	 */
	public function cache ($action, $key, $value=&#39;&#39;, $timeout=300)
	{
		$key = &#39;cache_&#39; . $key;
		switch ($action)
		{
			case &#39;get&#39;:
				return $this->cache_get($key);
				break;

			case &#39;set&#39;:
				return $this->cache_set($key, $value, $timeout);
				break;

			case &#39;delete&#39;:
				return $this->cache_delete($key);
				break;
			
			default:
				return false;
				break;
		}
	}

	public function cache_get ($key)
	{
		$data = $this->get($key);
		if ($data)
		{
			$array = unserialize($data);
			if (isset($array[&#39;timeout&#39;]) && ($array[&#39;timeout&#39;] > time()) )
				$data = $array[&#39;data&#39;];
			else
				$data = &#39;&#39;; // 应用场景中此处缓存马上会更新,无法删除操作。
		}
		return $data;
	}

	public function cache_set ($key, $value, $timeout)
	{
		$array = array(
			&#39;data&#39; => $value,
			&#39;timeout&#39; => time() + $timeout
		);
		return $this->set($key, serialize($array));
	}

	public function cache_delete ($key)
	{
		return $this->delete($key);
	}
}

                   

                   

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:百度音乐API下一篇:QQ音乐API