Redis C语言
来源:互联网 发布:2015十大网络歌曲 编辑:程序博客网 时间:2024/06/06 02:32
1. Redis安装
wget http://download.redis.io/releases/redis-3.0.3.tar.gz$ tar xzf redis-3.0.3.tar.gz$ cd redis-3.0.3$ make
参考链接:http://www.redis.io/download
2. Hiredis安装
从https://github.com/redis/hiredis/releases/tag/v0.13.1下载
$ make
参考链接:https://redislabs.com/hiredis
3.C 客户端(网上例子)
#include <stdio.h> #include <stdlib.h> #include <stddef.h> #include <stdarg.h> #include <string.h> #include <assert.h> #include <hiredis/hiredis.h> void doTest() { //redis默认监听端口为6387 可以再配置文件中修改 redisContext* c = redisConnect("127.0.0.1", 6379); if ( c->err) { redisFree(c); printf("Connect to redisServer faile\n"); 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 && strcasecmp(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() { doTest(); return 0; }
Makefile
LIBDIR= -L/usr/local/lib LIBSO = -lhiredis CFLAG = -Wall -gall:txtx:tx.o g++ ${CFLAG} -o $@ $< ${LIBDIR} ${LIBSO}%.o%.c: g++ -c -o $@ $^clear: rm -f *.o或者命令: g++ -o tx tx.cpp libhiredis.a
运行:./tx
[root@localhost hiredis]# ./tx
Connect to redisServer Success
Succeed to execute command[set stest1 value1]
The length of 'stest1' is 6.
Succeed to execute command[strlen stest1]
The value of 'stest1' is value1
Succeed to execute command[get stest1]
Succeed to execute command[get stest2]
0 0
- Redis C语言
- C语言访问redis(hiredis)
- redis集群客户端-c语言
- redis数据库c语言接口
- c语言操作redis数据库
- Redis C语言客户端库hiredis
- Redis C语言客户端库hiredis使用方法
- 实现通过C语言连接redis
- Ubuntu15.04 C语言操作Redis
- Redis C语言客户端库hiredis
- Redis C语言客户端库hiredis使用方法
- Redis学习笔记--hiredis(C语言)
- Redis C 语言客户端 hiredis 的使用
- Redis C语言客户端库hiredis文档翻译
- redis添加验证密码及C语言API hiredis配置
- Redis C语言客户端库hiredis文档翻译
- 跳表的C语言实现,不同于redis版本
- Redis C语言客户端库hiredis文档翻译
- vs2010 error LNK2005
- kosaraju算法
- mysql 读写分离
- 文件操作篇(1.文件的创建)
- 配置virtio-scsi
- Redis C语言
- 安装程序检测到 HTML 帮助数据文件已损坏,无法继续进行
- Android 创建一个包含星期的格式字符串
- 鼠标离开和点击事件——输入框提示语
- 开博第一篇作品-C#winform版《仿360杀毒》页面切换动画效果(内含源码)
- 黑马程序员——java基础—反射
- The structure of the building template
- poj 1258 Agri-Net
- 重载