在ubuntu环境下redis开发

4 篇文章 0 订阅


        1、下载redis

    

      wgethttp://redis.googlecode.com/files/redis-2.4.17.tar.gz
      tar -zvxf redis-2.4.17.tar.gz
      cd redis-2.4.17
      make
      sudo make install

    2、安装hiredis
      wget https://github.com/antirez/hiredis/tarball/master
      tar xzvf master
      cd antirez-hiredis-0fff0f1
      make
      sudo make install
   3、测试验证
      开启redis-server; redis-server
      测试代码如下:
#include <stdio.h>

#include <hiredis/hiredis.h>

int main()
{
    redisContext* conn = redisConnect("127.0.0.1",6379);
    if(conn->err)   printf("connection error:%s\n",conn->errstr);

    redisReply* reply = redisCommand(conn,"set foo 1234");
    freeReplyObject(reply);

    reply = redisCommand(conn,"get foo");

    printf("%s\n",reply->str);
    freeReplyObject(reply);

    redisFree(conn);

    return 0;

}
     makefile

LIBDIR= -L/usr/local/lib
LIBSO = -lhiredis
CFLAG = -Wall -g

all:test

test:test.o
        gcc ${CFLAG} -o $@ $< ${LIBDIR} ${LIBSO}
%.o%.c:
        gcc -c -o $@ $^

clear:
        rm -f *.o

          ok
        也许你在测试的过程中会遇到以下问题
test.o: In function `main':
test.c:(.text+0x19): undefined reference to `redisConnect'
test.c:(.text+0x53): undefined reference to `redisCommand'
test.c:(.text+0x63): undefined reference to `freeReplyObject'
test.c:(.text+0x77): undefined reference to `redisCommand'
test.c:(.text+0x96): undefined reference to `freeReplyObject'
test.c:(.text+0xa2): undefined reference to `redisFree'
collect2: ld returned 1 exit status

       或者是error while loading shared libraries: libhiredis.so.0.10: cannot open shared object file: No such file or directory
        
          第一个问题是由于你没有连接动态库的原因,连接动态库即可;
          第二个问题也是动态库的问题,是系统找不到这个动态库,此时记住sudo /sbin/ldconfig以下,更新一下系统动态库配置


          同时你也要检查一下/etc/ld.so.conf文件中是否包含需要的动态库的目录,如果没有的话就添加进出即可,然后ldconfig
    

     


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值