代码拉取完成,页面将自动刷新
同步操作将从 轩辕/xiunoPHP 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
/*
# 持久的 key value 数据存储
DROP TABLE IF EXISTS bbs_kv;
CREATE TABLE bbs_kv (
k char(32) NOT NULL default '',
v mediumtext NOT NULL,
expiry int(11) unsigned NOT NULL default '0', # 过期时间
PRIMARY KEY(k)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
*/
class cache_mysql {
public $conf = array();
public $db = NULL;
public $link = NULL;
public $table = 'cache';
public $cachepre = '';
public $errno = 0;
public $errstr = '';
public function __construct($dbconf = array()) {
// 可以复用全局的 $db
if(is_object($dbconf['db'])) {
$this->db = $dbconf['db']; // 可以直接传 $db 进来
} else {
$this->conf = $dbconf;
$this->db = db_new($dbconf);
}
$this->cachepre = isset($dbconf['cachepre']) ? $dbconf['cachepre'] : 'pre_';
}
public function connect() {
return db_connect($this->db);
}
public function set($k, $v, $life = 0) {
$time = time();
$expiry = $life ? $time + $life : 0;
$arr= array(
'k'=>$k,
'v'=>xn_json_encode($v),
'expiry'=>$expiry,
);
$r = db_replace($this->table, $arr, $this->db);
if($r === FALSE) {
$this->errno = $this->db->errno;
$this->errstr = $this->db->errstr;
return FALSE;
}
return $r !== FALSE;
}
public function get($k) {
$time = time();
$arr = db_find_one($this->table, array('k'=>$k), array(), array(), $this->db);
// 如果表不存在,则建立表 pre_cache
if($arr === FALSE) {
$this->errno = $this->db->errno;
$this->errstr = $this->db->errstr;
return FALSE;
}
if(!$arr) return NULL;
if($arr['expiry'] && $time > $arr['expiry']) {
db_delete($this->table, array('k'=>$k), $this->db);
return NULL;
}
return xn_json_decode($arr['v'], 1);
}
public function delete($k) {
$r = db_delete($this->table, array('k'=>$k), $this->db);
if($r === FALSE) {
$this->errno = $this->db->errno;
$this->errstr = $this->db->errstr;
return FALSE;
}
return empty($r) ? FALSE : TRUE;
}
public function truncate() {
$r = db_truncate($this->table, $this->db);
if($r === FALSE) {
$this->errno = $this->db->errno;
$this->errstr = $this->db->errstr;
return FALSE;
}
return TRUE;
}
public function error($errno, $errstr) {
$this->errno = $errno;
$this->errstr = $errstr;
}
public function __destruct() {
}
}
?>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。