Heim >php教程 >PHP源码 >KVDB php class for SAE

KVDB php class for SAE

PHP中文网
PHP中文网Original
2016-05-26 08:18:261164Durchsuche

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);
	}
}

                   

                   

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:百度音乐APINächster Artikel:QQ音乐API