Drogon 现代化C ++高性能框架

框架自带 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;
}
相关推荐
DogDaoDao1 小时前
Android 硬件编码器参数完全指南:MediaCodec 深度解析
android·音视频·视频编解码·h264·硬编码·视频直播·mediacodec
为何创造硅基生物2 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
JohnnyDeng942 小时前
Android 自定义 View:Canvas 绘图与事件分发深度解析
android
吃好睡好便好2 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
星寂樱易李2 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
仰泳之鹅2 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
之歆3 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
jolimark3 小时前
C语言自学攻略:小白入门三步走
c语言·编程入门·学习路线·实践项目·自学攻略
cen__y4 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
AI人工智能+电脑小能手4 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm