zoukankan      html  css  js  c++  java
  • 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;
    }

  • 相关阅读:
    一些jquery常用方法
    如何判断js中的数据类型
    SDL结合QWidget的简单使用说明(2)
    C++引用详解
    SDL结合QWidget的简单使用说明
    Qt::浅谈信号槽连接,参数在多线程中的使用
    Qt::带返回值的信号发射方式
    Windows:子线程中创建窗口
    Qt:小项目仿QQ修改头像界面,技术点记录
    Qt::QWindow多窗口争抢置顶状态解决方案
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318425.html
Copyright © 2011-2022 走看看