|
VC++连接访问REDIS实例源码
在VC++ MFC中操作Redis实例,可以使用一个Redis客户端库,比如 `hiredis` 。以下是一个简单的示例代码,展示如何连接Redis、执行基本的操作(读取、修改、删除等)。
### 1. 安装 `hiredis`
在开始之前,你需要确保已经安装了 `hiredis` 库。可以从 [hiredis GitHub 页面](https://github.com/redis/hiredis) 下载并编译该库。
### 2. 示例代码
以下是一个简单的VC++ MFC程序示例,演示如何连接到Redis并执行基本的操作:
- #include <afx.h>
- #include <iostream>
- #include <hiredis/hiredis.h>
- class RedisExample {
- public:
- RedisExample(const char* hostname, int port) {
- // 连接到Redis服务器
- m_redisContext = redisConnect(hostname, port);
- if (m_redisContext == nullptr || m_redisContext->err) {
- if (m_redisContext) {
- std::cerr << "连接Redis失败: " << m_redisContext->errstr << std::endl;
- redisFree(m_redisContext);
- } else {
- std::cerr << "无法分配Redis上下文" << std::endl;
- }
- }
- }
- ~RedisExample() {
- // 释放Redis上下文
- if (m_redisContext) {
- redisFree(m_redisContext);
- }
- }
- void SetValue(const char* key, const char* value) {
- redisCommand(m_redisContext, "SET %s %s", key, value);
- }
- const char* GetValue(const char* key) {
- redisReply* reply = (redisReply*)redisCommand(m_redisContext, "GET %s", key);
- if (reply == nullptr) {
- std::cerr << "获取值失败" << std::endl;
- return nullptr;
- }
- const char* value = reply->str;
- freeReplyObject(reply);
- return value;
- }
- void DeleteValue(const char* key) {
- redisCommand(m_redisContext, "DEL %s", key);
- }
- private:
- redisContext* m_redisContext;
- };
- int main() {
- // 创建RedisExample对象,连接到本地Redis服务器
- RedisExample redis("127.0.0.1", 6379);
- // 设置键值对
- redis.SetValue("exampleKey", "exampleValue");
- // 获取键的值
- const char* value = redis.GetValue("exampleKey");
- if (value) {
- std::cout << "获取的值: " << value << std::endl;
- }
- // 删除键
- redis.DeleteValue("exampleKey");
- std::cout << "键 'exampleKey' 已删除。" << std::endl;
- return 0;
- }
复制代码
### 代码说明
1. **连接Redis**:构造函数 `RedisExample` 中使用 `redisConnect` 连接到Redis服务器。
2. **设置值**: `SetValue` 方法使用 `SET` 命令设置一个键值对。
3. **获取值**: `GetValue` 方法使用 `GET` 命令获取指定键的值,并返回值。
4. **删除值**: `DeleteValue` 方法使用 `DEL` 命令删除指定的键。
5. **释放资源**:析构函数中释放Redis上下文。
### 注意事项
- 确保在项目中包含 `hiredis` 库的头文件和链接库。
- Redis服务器需要运行在指定的主机和端口上(在本例中为 `127.0.0.1:6379` )。
- 错误处理可以根据具体需求进行增强。
### 编译和运行
在编译时,确保链接到 `hiredis` 库,并包含相应的头文件路径。运行程序后,应该能够在Redis中看到设置的键值对,并能够进行读取和删除操作。
|
|