kvdb php,KVDB php class for SAE

本文介绍了一个使用SAE (新浪云) 开发的PHP kvdb类,它提供了KV存储操作并集成了一套简单的缓存机制,适合快速开发和数据存储。重点讲解了构造函数初始化、基本数据操作、以及cache方法的使用和原理。
摘要由CSDN通过智能技术生成

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中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值