安装redis
redis的安装很简单,由于是轻便型的数据库,下载很快,redis安装教程。
然后是C++连接需要安装客户端驱动hiredis,linux下Redis以及c++操作。
创建项目
- 这里把hiredis的头文件/usr/local/include/hiredis/复制到windows的共享文件中,如图
- 创建名为redisTset的makefile项目,结构如下:
- 右键项目,选择属性,在General的Remote Build Root Directory中写入Linux上的项目目录,
在C++->Include Search Path添加E:\LinuxShare\include;E:\LinuxShare\include\c++\4.8.2;E:\LinuxShare\redis
在Remote Build四项中分别写入
cd $(RemoteRootDir)/$(ProjectName); make build
cd $(RemoteRootDir)/$(ProjectName); make clean build
cd $(RemoteRootDir)/$(ProjectName); make clean
$(RemoteRootDir)/$(ProjectName)/redisTest
如图:
- 编写代码
main.cpp
#pragma once
#pragma execution_character_set("utf-8")
#include <iostream>
#include "hiredis/hiredis.h"
using namespace std;
int main() {
//设置IP,端口
redisContext *c = redisConnect("127.0.0.1", 6379);
if (c->err) {
redisFree(c);
cout << "connect to redis fail" << endl;
return 1;
}
cout << "connect to redis success" << endl;
//登录(没有设置密码就不用)
redisReply *r = (redisReply*)redisCommand(c, "auth 123456");
cout << r->str << endl;
freeReplyObject(r);
//删除名为runoob的key
r = (redisReply*)redisCommand(c, "DEL runoob");
if (r->type != REDIS_REPLY_INTEGER && r->str != 0x00)
{
cout << r->str << endl;
}
freeReplyObject(r);
//新增有序集合runoob
r = (redisReply*)redisCommand(c, "zadd runoob 0 redis");
if (r->type != REDIS_REPLY_INTEGER || r->integer != 1)
{
cout << "执行失败" << endl;
}
freeReplyObject(r);
r = (redisReply*)redisCommand(c, "zadd runoob 2 mongodb");
if (r->type != REDIS_REPLY_INTEGER || r->integer != 1)
{
cout << "执行失败" << endl;
}
freeReplyObject(r);
r = (redisReply*)redisCommand(c, "zadd runoob 1 rabitmq");
if (r->type != REDIS_REPLY_INTEGER || r->integer != 1)
{
cout << "执行失败" << endl;
}
freeReplyObject(r);
//查找
r = (redisReply*)redisCommand(c, "ZRANGEBYSCORE runoob 0 1000");
for(int i=0;i<r->elements;i++)
cout << r->element[i]->str << endl;
freeReplyObject(r);
redisFree(c);
return 0;
}
makefile
INCLUDEPATH=/usr/include/mysql
LIBPATH=/usr/lib64/mysql
CC1=g++
build:
$(CC1) -gdwarf-2 -o redisTest main.cpp -lhiredis
clean:
rm *.o dbTest