发表于 2018-6-18 09:12:06

windows下使用c++调用redis-12900825

#include <stdio.h>#include <stdlib.h>#include <stddef.h>#include <stdarg.h>#include <string.h>#include <assert.h>#include "hiredis.h"void doTest()  
{    //redis默认监听端口为6387 可以再配置文件中修改
  
    redisContext* c = redisConnect("127.0.0.1", 6379);    if ( c->err)
  
    {
  
      printf("Connect to redisServer faile:%s\n",c->errstr);
  
      redisFree(c);      return ;
  
    }
  
    printf("Connect to redisServer Success\n");    const char* command1 = "set stest1 value1";
  
    redisReply* r = (redisReply*)redisCommand(c, command1);    if( NULL == r)
  
    {
  
      printf("Execut command1 failure\n");
  
      redisFree(c);      return;
  
    }    if( !(r->type == REDIS_REPLY_STATUS && (strcmp(r->str,"OK")==0 || strcmp(r->str,"ok")==0 ) ))
  
    {
  
      printf("Failed to execute command[%s]\n",command1);
  
      freeReplyObject(r);
  
      redisFree(c);      return;
  
    }
  
    freeReplyObject(r);
  
    printf("Succeed to execute command[%s]\n", command1);    const char* command2 = "strlen stest1";
  
    r = (redisReply*)redisCommand(c, command2);    if ( r->type != REDIS_REPLY_INTEGER)
  
    {
  
      printf("Failed to execute command[%s]\n",command2);
  
      freeReplyObject(r);
  
      redisFree(c);      return;
  
    }    int length =r->integer;
  
    freeReplyObject(r);
  
    printf("The length of 'stest1' is %d.\n", length);
  
    printf("Succeed to execute command[%s]\n", command2);    const char* command3 = "get stest1";
  
    r = (redisReply*)redisCommand(c, command3);    if ( r->type != REDIS_REPLY_STRING)
  
    {
  
      printf("Failed to execute command[%s]\n",command3);
  
      freeReplyObject(r);
  
      redisFree(c);      return;
  
    }
  
    printf("The value of 'stest1' is %s\n", r->str);
  
    freeReplyObject(r);
  
    printf("Succeed to execute command[%s]\n", command3);    const char* command4 = "get stest2";
  
    r = (redisReply*)redisCommand(c, command4);    if ( r->type != REDIS_REPLY_NIL)
  
    {
  
      printf("Failed to execute command[%s]\n",command4);
  
      freeReplyObject(r);
  
      redisFree(c);      return;
  
    }
  
    freeReplyObject(r);
  
    printf("Succeed to execute command[%s]\n", command4);
  

  

  
    redisFree(c);
  

  
}int main()
  
{
  
    WSADATA wsaData;    int nRet;    if((nRet = WSAStartup(MAKEWORD(2,2),&wsaData)) != 0){
  
      printf("WSAStartup failed\n");
  
      exit(0);
  
    }
  
    doTest();    return 0;
  
}
页: [1]
查看完整版本: windows下使用c++调用redis-12900825