get($key); return $r === false ? null : json_decode($r['value'], true); } /** * @param array|int|string $value */ public static function set(string $table, string $key, $value): bool { 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); } /** * @param float|int $conflict_proportion * @throws ZMException */ private static function createTable(string $name, int $size, int $str_size, $conflict_proportion = 0) { self::$kv_table[$name] = new Table($size, $conflict_proportion); self::$kv_table[$name]->column('value', Table::TYPE_STRING, $str_size); $r = self::$kv_table[$name]->create(); if ($r === false) { throw new LightCacheException('E00050', '内存不足,创建静态表失败!'); } } }