下载 redis 文件, 进行编译  

  wget https://github.com/redis/hiredis/archive/master.zip

将其解压, 并编译

    unzip -x  master.zip

    make && make install

加载进行简单测试:
redis-server 加载redis.conf  配置文件 
发现c程序执行命令为 get foo   ;; 可以将redid-cli  连接进入  keys * ; set foo 12 
发现程序运行之后 取出数据 为foo  —> 12 说明运行正确;
  

testredis.c

#include <stdio.h>
#include <stdlib.h>
#include <hiredis/hiredis.h> /*
* 请求 redis网络缓存服务器内存.
*/ int main(int argc, char* argv[]) {
redisContext *conn = redisConnect("127.0.0.1", 6379);
if(NULL == conn) {
fprintf(stderr, "redisConnect 127.0.0.1:6379 error!\n");
exit(EXIT_FAILURE);
}
if(conn->err) {
fprintf(stderr, "redisConect error:%d\n", conn->err);
redisFree(conn);
exit(EXIT_FAILURE);
} // 这里redisConnect 链接对象创建完毕了
redisReply *reply = redisCommand(conn, "get foo");
if(reply && reply->type == REDIS_REPLY_STRING) {
printf("get foo => %s\n", reply->str);
}
printf("reply->type = %d\n", reply->type); // 释放这个对象
freeReplyObject(reply);
// 释放hiredis 上下文对象
redisFree(conn); return 0;
}

    

  

Makefile 文件编译;
 
testredis:testredis.c
     gcc -g -Wall -o  testredis testredis.c -lhiredis 

make && ./testredis

查看结果;

C 调用redis缓冲的更多相关文章

  1. soapui调用redis,获取短信验证码

    1.首先,调用redis需要引入redis的jar包,放入到soapui指定目录中,例如我的目录D:\Program Files\SmartBear\SoapUI-Pro-5.1.2\bin\ext ...

  2. php调用Redis队列使用例子

    1.Controller顶部引入use think\Queue; 2.Controller调用Redis任务 // 1.当前任务将由哪个类来负责处理. $job = 'app\api\job\Resu ...

  3. windows下使用c++调用redis

    不废话,unix下c++调用 redis可以看这个: http://blog.csdn.net/youngqj/article/details/8266177 ==================== ...

  4. 【数据库开发】windows下使用c++调用redis

    不废话,unix下c++调用 redis可以看这个: http://blog.csdn.net/youngqj/article/details/8266177 ==================== ...

  5. tp5 Redis缓冲的设置与清除

    控制器代码: //设置缓冲的方法 public function order() { $word = input('word');//接受搜索值 //题意:将订单数据使用redis进行缓存中,第二次读 ...

  6. c/c++(hiredis)异步调用redis【转】

    hiredis是redis官方推荐的C/C++客户端代码库.使用hiredis库很简易方便的进行redis的相关开发. 同步方式 不过大多数情况下,我们采用的都是同步的调用方式.   1 2 3 4 ...

  7. SpringBoot 注解调用Redis缓存

    注解代码: import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.l ...

  8. 调用redis封装好的JedisUtils接口实现锁库

    1.在进行数据库操作的方法前先定义一个key值,并添加一个能区别每个key的标识 2.首先判断如果定义的key值存在的话,就直接return方法,如果不存在的话,就把key值放在jedisutil中, ...

  9. 大白话讲解调用Redis的increment失败原因及推荐使用

    大家在项目中基本都会接触到redis,在spring-data-redis-2.*.*.RELEASE.jar中提供了两个Helper class,可以让我们更方便的操作redis中存储的数据.这两个 ...

随机推荐

  1. mac 修改command+q 退出

    实在受不了! 在chrome中command+w 是关闭当前页面,command+q 退出浏览器: 经常查阅资料打开了N多个窗口,关闭时不小心将command+q当command+w按: so ... ...

  2. CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置

    1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB,两条命令都可以 systemctl sta ...

  3. 修改 jquery.validate.js 支持非form标签

    尝试使用markdown来写一篇blog,啦啦啦 源代码传送门:github 在特殊情况下我们使用jquery.validate.js对用户输入的内容做验证的时候,表单并不是一定包含在form之中,有 ...

  4. java-w3c.document生成xml文件

    案例 /** * 创建和写入xml * @param xmlrootname * @param waitConverList */ private void createAndWriterXML(St ...

  5. java版简易socket客户端

    android项目需要使用到心跳, 于是编写了一个简易的socket客户端程序 主要功能是给服务端发送心跳包,保持在线状态 没有使用框架,这样避免了需要引入包,直接使用的阻塞Socket通信. 主要逻 ...

  6. MapControl控件AddLayer出现错误-引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常

    出错代码: AxMapControl pMptrl = new AxMapControl(); //add data string mdbPath = string.Format("{0}\ ...

  7. border:none 和border:0区别差异

    border:none与border:0的区别体现为两点:一是理论上的性能差异,二是浏览器兼容性的差异. 性能差异: [border:0;]把border设为“0”像素效果等于border-width ...

  8. web前端基础知识-(六)Django基础

    上面我们已经知道Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Sessi ...

  9. java -- 容易放错的误区

    1.按值传递 和 引用传递 (基本类型包括基本类型的包装类 或者 字符串类型 传递的是 副本 并不会改变原来的值)||  如果是引用类型 传递的是地址,会改变原来的值. public class T ...

  10. Django基础,Day6 - 单元测试tests

    在django项目app目录下,有个tests.py,我们通常可以直接在这文件中写我们的单元测试代码. test for a model 根据前面章节的操作步骤下来,在Question Model中有 ...