ホームページ > php教程 > PHP源码 > KVDB php class for SAE

KVDB php class for SAE

PHP中文网
リリース: 2016-05-26 08:18:26
オリジナル
1131 人が閲覧しました

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);
	}
}
ログイン後にコピー

                   

                   

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート