/** * dao的构造函数 * @author 欧远宁 * @param string $mdl 应用名 * @param string $tbl 表对象名 */ public function __construct($mdl, $tbl) { $this->schema = $GLOBALS['cfg'][$mdl]['schema'][$tbl]; $this->sql = $GLOBALS['cfg'][$mdl]['sql']; $suf = inject::split($mdl, $tbl); //我们用版本号作为缓存key的前缀,以便当数据结构变更的时候,将对象缓存自动过期 $this->ver = $this->schema['ver'] . '.'; $this->mdl = $mdl . $suf['db']; $this->tbl = $tbl . $suf['tbl']; $this->key = $tbl . '_id'; $this->key_list = $tbl . '_list'; $this->db = mysql::get_ins($mdl, $suf['db']); if ($GLOBALS['cfg']['cfg']['dao_cache']) { $this->cache = cache::get_ins($mdl); } else { $this->schema['cache'] = -1; } }
/** * 删除缓存 * @author 欧远宁 * @param string $key cache的key */ public static function del_sys_cache($key) { $cache = cache::getIns('sys'); $pre = 'user_'; //给一个前缀,避免跟其他系统cache重名 return $cache->del($pre . $key); }
/** * 回滚事务 * @author 欧远宁 */ private static function rollback() { mysql::rollback(); cache::rollback(); }