- <?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);
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/2812201514307.html
来源: http://www.codesnippet.cn/detail/2812201514307.html