column("value", Table::TYPE_STRING, 65536); self::$kv_table["connect"] = new Table(8, 0); self::$kv_table["connect"]->column("value", Table::TYPE_STRING, 256); $result = self::$kv_table["wait_api"]->create() && self::$kv_table["connect"]->create(); if ($result === false) { self::$last_error = '系统内存不足,申请失败'; return false; } else { return true; } } /** * @param string $table * @param string $key * @return mixed|null * @throws ZMException */ public static function get(string $table, string $key) { if (!isset(self::$kv_table[$table])) throw new ZMException("not initialized LightCache"); $r = self::$kv_table[$table]->get($key); return $r === false ? null : json_decode($r["value"], true); } /** * @param string $table * @param string $key * @param string|array|int $value * @return mixed * @throws ZMException */ public static function set(string $table, string $key, $value) { if (self::$kv_table === null) throw new ZMException("not initialized LightCache"); try { return self::$kv_table[$table]->set($key, [ "value" => json_encode($value, 256) ]); } catch (Exception $e) { return false; } } public static function unset(string $table, string $key) { return self::$kv_table[$table]->del($key); } }