框架自带 GC 垃圾回收
现在ai时代,直接让ai写业务即可,直接上最强并发的框架。
业务 用 octane
高并发场景,正常来说也不会非常多接口,用 Drogon 完美。

hello.cpp
clike
#include <drogon/drogon.h>
using namespace drogon;
int main() {
// 数据库连接
auto db = app().getDbClient(
"mysql", "127.0.0.1", 3306,
"你的库名", "账号", "密码", 1, "utf8mb4"
);
// ==========================
// 接口1:Hello World
// ==========================
app().registerHandler("/hello", [](auto req, auto cb) {
Json::Value r;
r["code"] = 200;
r["msg"] = "Hello Drogon 简化版!";
cb(HttpResponse::newHttpJsonResponse(r));
});
// ==========================
// 接口2:查询用户 ID=1
// ==========================
app().registerHandler("/user/getInfo", [db](auto req, auto cb) {
auto sql = "SELECT id,username,phone FROM user WHERE id=?";
// ↓↓↓ 这里我给你简化到最干净!
db->execSqlAsync(sql, [cb](auto res) {
Json::Value r;
if (res.empty()) {
r["code"] = 404;
r["msg"] = "用户不存在";
} else {
r["code"] = 200;
r["data"]["id"] = res[0]["id"].as<int>();
r["data"]["name"] = res[0]["username"].as<string>();
}
cb(HttpResponse::newHttpJsonResponse(r));
}, [cb](auto err) {
Json::Value r;
r["code"] = 500;
r["msg"] = "查询失败";
cb(HttpResponse::newHttpJsonResponse(r));
}, 1);
});
app().addListener("0.0.0.0", 8081).run();
return 0;
}