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='')
{
return $this->kvdb->pkrget($prefix, $num, $offset);
}
public function errmsg()
{
return $this->kvdb->errmsg();
}
/**
* kvdb cache
*/
public function cache ($action, $key, $value='', $timeout=300)
{
$key = 'cache_' . $key;
switch ($action)
{
case 'get':
return $this->cache_get($key);
break;
case 'set':
return $this->cache_set($key, $value, $timeout);
break;
case 'delete':
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['timeout']) && ($array['timeout'] > time()) )
$data = $array['data'];
else
$data = ''; // 应用场景中此处缓存马上会更新,无法删除操作。
}
return $data;
}
public function cache_set ($key, $value, $timeout)
{
$array = array(
'data' => $value,
'timeout' => time() + $timeout
);
return $this->set($key, serialize($array));
}
public function cache_delete ($key)
{
return $this->delete($key);
}
}
相关标签:php
本文原创发布php中文网,转载请注明出处,感谢您的尊重!