handle); $store = dba_fetch($this->create_key($key),$rs); dba_close($rs); $store = unserialize($store); if($store !== false && $timeout_version < $store['dateline']){ if($store['ttl'] > 0 && ($store['dateline']+$store['ttl']) < time()){ return false; } $value = $store['value']; return true; } return false; }//End Function /** * store * @param mixed $key key * @param mixed $value value * @param mixed $ttl ttl * @return mixed 返回值 */ public function store($key, $value, $ttl=0) { $store['value'] = $value; $store['dateline'] = time(); $store['ttl'] = $ttl; $rs = dba_open(DATA_DIR.'/kvstore/dba.db','cl',$this->handle); $ret = dba_replace($this->create_key($key), serialize($store), $rs); dba_close($rs); return $ret; }//End Function /** * 删除 * @param mixed $key key * @return mixed 返回值 */ public function delete($key) { $rs = dba_open(DATA_DIR.'/kvstore/dba.db','wl',$this->handle); $ret = dba_delete($this->create_key($key),$rs); dba_close($rs); return $ret; }//End Function /** * recovery * @param mixed $record record * @return mixed 返回值 */ public function recovery($record) { $key = $record['key']; $store['value'] = $record['value']; $store['dateline'] = $record['dateline']; $store['ttl'] = $record['ttl']; $rs = dba_open(DATA_DIR.'/kvstore/dba.db','cl',$this->handle); $ret = dba_replace($this->create_key($key), serialize($store), $rs); dba_close($rs); return $ret; }//End Function }//End Class