C++ 操作Redis 简单封装类
2015-09-17 15:09
519 查看
#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; }
相关文章推荐
- C++操作Redis数据库
- [bigdata] 使用Redis队列来实现与机器无关的Job提交与执行 (python实现)
- Hadoop、Spark、HBase与Redis的适用性讨论
- Redis Error
- NoSQL数据库:Redis适用场景及产品定位
- redis实践-cluster搭建
- Ubuntu下安装redis
- redis如何关闭持久化
- Linux redis 开启启动
- CentOS7安装Redis
- 【Redis】Redis学习笔记01_Linux下Redis的安装
- Nginx(1.3.9)+Tomcat(1.7)+Redis(3.0)的session共享
- 四:redis的sets类型 - 相关操作(有序和无序集合)
- redis+PHP实现的一个优先级去重队列
- Hiredis 基本使用
- shell批量插入redis测试数据
- redis清理数据
- [转载] redis-cluster研究和使用
- [转载] Redis集群搭建最佳实践
- [转载] Redis-benchmark使用总结