在现代高性能应用开发中,Redis 作为一款内存型键值数据库,被广泛用于缓存、消息队列、会话存储等场景。而 C++ 作为一种高效、底层的编程语言,在需要极致性能的系统中仍占据重要地位。本文将手把手教你如何在 C++ 项目中使用 C++ Redis库 连接并操作 Redis 数据库,即使你是编程小白也能轻松上手!

虽然 Python、Node.js 等语言有更丰富的 Redis 客户端,但在对性能、内存控制要求极高的场景(如高频交易系统、游戏服务器、嵌入式设备),C++ 依然是首选。通过使用成熟的 Redis客户端C++ 库,我们可以兼顾开发效率与运行性能。
目前最主流的组合是:
我们将以 redis-plus-plus 为主进行教学,因为它支持 C++ 风格的语法,更适合新手。
确保你的系统已安装以下工具:
然后依次安装 hiredis 和 redis-plus-plus:
# 克隆并编译 hiredisgit clone https://github.com/redis/hiredis.gitcd hiredismakesudo make install# 克隆并编译 redis-plus-plusgit clone https://github.com/sewenew/redis-plus-plus.gitcd redis-plus-plusmkdir buildcd buildcmake .. -DCMAKE_BUILD_TYPE=Releasemakesudo make install创建一个名为 main.cpp 的文件,输入以下代码:
#include <iostream>#include <sw/redis++/redis++.h>using namespace sw::redis;int main() { try { // 创建 Redis 连接(默认本地 6379 端口) Redis redis("tcp://127.0.0.1:6379"); // 设置键值对 redis.set("hello", "world"); // 获取值 auto val = redis.get("hello"); if (val) { std::cout << "获取到的值: " << *val << std::endl; } else { std::cout << "键不存在" << std::endl; } // 删除键 redis.del("hello"); } catch (const Error &e) { std::cerr << "Redis 错误: " << e.what() << std::endl; return -1; } return 0;}使用以下命令编译程序(注意链接 hiredis 和 redis++ 库):
g++ -std=c++17 main.cpp -lhiredis -lredis++ -o redis_demo运行前,请确保 Redis 服务已在本地启动:
redis-server然后执行程序:
./redis_demo如果一切正常,你将看到输出:
获取到的值: world除了基本的 set/get,C++操作Redis 还支持哈希、列表、集合等数据结构:
// 哈希操作redis.hset("user:1001", "name", "Alice");redis.hset("user:1001", "age", "30");auto name = redis.hget("user:1001", "name");// 列表操作redis.lpush("tasks", "task1");redis.lpush("tasks", "task2");auto task = redis.lpop("tasks");// 发布/订阅(需异步处理)auto sub = redis.subscriber();sub.on_message([](std::string channel, std::string msg) { std::cout << "收到消息: " << msg << " from " << channel << std::endl;});sub.subscribe("news");通过本教程,你已经掌握了如何在 C++ 中使用 C++ Redis库 连接 Redis 并执行基本操作。无论是缓存加速还是构建实时系统,Redis客户端C++ 都能为你提供强大支持。记住,熟练掌握 C++操作Redis 是迈向高性能后端开发的重要一步!
提示:生产环境中建议使用连接池(Connection Pool)来管理 Redis 连接,以提升并发性能。
本文由主机测评网于2025-12-13发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025126967.html