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

KVDB php class for SAE

PHP中文网
Release: 2016-05-26 08:18:26
Original
1163 people have browsed it

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);
	}
}
Copy after login

                   

                   

Related labels:
php
source:php.cn
Statement of this Website
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
Latest Articles by Author
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template