在ubuntu环境下redis开发

来源:互联网 发布:淘宝网实名认证 编辑:程序博客网 时间:2024/05/21 01:47


        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/libLIBSO = -lhiredisCFLAG = -Wall -gall:testtest: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
    

     


原创粉丝点击