#pragma once #include #include #include "util/json.h" #include "util/counter.hpp" namespace leveldb { class DB; } namespace ylib { /// /// 本地存储(LevelDB) /// class local_storage { public: local_storage(); ~local_storage(); /// /// 打开 /// /// 目录 /// bool open(const std::string& dirpath); /// /// 关闭 /// void close(); /// /// 清空数据库 /// void clear(); /// /// 写 /// /// /// /// bool write(const std::string& name,const std::string& value); /// /// 读 /// /// /// /// bool read(const std::string& name, std::string& value); /// /// 删除 /// /// /// bool del(const std::string& name); /// /// 是否存在 /// /// /// bool exist(const std::string& name); /// /// [测试] 生成GUID /// /// std::string test_make_guid(); private: // 目录 std::string m_dirpath; // DB指针 leveldb::DB* m_db = nullptr; // GUID索引器 ylib::counter m_guid_counter; }; }