• C++ 操作Redis 简单封装类


    #include "stdafx.h"
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <winsock2.h>
    #include <iostream>
    
    #include "../hiredis/hiredis.h"
    
    #pragma warning(disable: 4996)
    #pragma comment(lib, "ws2_32.lib")
    
    class Redis
    {
    public:
    
            Redis()
            {
                    WSADATA wsaData;
                    WSAStartup(MAKEWORD( 2, 2 ), &wsaData);
            }
    
            ~Redis()
            {
                    this->_connect = NULL;
                    this->_reply = NULL;
            }
    
            bool connect(std::string host, int port)
            {
                    this->_connect = redisConnect(host.c_str(), port);
                    if (this->_connect->err) {
                            return false;
                    }
                    return true;
            }
    
            std::string getError()
            {
                    return this->_connect->errstr;
            }
    
            std::string get(std::string key)
            {
                    this->_reply = (redisReply*)redisCommand(this->_connect, "GET %s", key.c_str());
                    std::string str = this->_reply->str;
                    freeReplyObject(this->_reply);
    
                    return str;
            }
    
            void set(std::string key, std::string value)
            {
                    redisCommand(this->_connect, "SET %s %s", key.c_str(), value.c_str());
            }
    
    private:
            redisContext* _connect;
            redisReply* _reply;
    };
    
    int main(void)
    {
            Redis* r = new Redis;
            if (!r->connect("192.168.32.8", 6379))
            {
                    printf(".....");
                    exit(0);
            }
    
            r->set("foo", "hello zoujiaqing!");
    
            printf("GET: %s", r->get("foo").c_str());
    
            return 0;
    }

  • 相关阅读:
    201671010456-张琼 实验三作业互评与改进
    阅读《构建之法》后的相关问题
    个人作业-软件工程实践总结
    团队作业第二次—项目选题报告
    结对第二次—文献摘要热词统计及进阶需求
    结对第一次—原型设计(文献摘要热词统计)
    第一次作业-准备篇
    个人作业——软件工程实践总结作业
    团队作业第二次—项目选题报告
    结对第二次—文献摘要热词统计及进阶需求
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318425.html
Copyright © 2020-2023  润新知