redis安装全过程

1、 从官网上下载redis。

2、安装gcc

3、进入./redis/src目录下make MALLOC =libc

4、遇到的问题

 

Redis简介:

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

安装所遇问题

  1. 下载解压redis-2.0.4后,执行make进行编译,结果出现下面的错误:

    make: cc: Command not found make: *** [adlist.o] Error 127

    编译redis时 提示make cc Command not found
  2.  

    这是由于新安装的Linux系统没有安装gcc环境,需要安装gcc,为了方便,这里我选择用yum进行安装。

    # yum  install  gcc

    编译redis时 提示make cc Command not found
  3.  
    编译redis时 提示make cc Command not found
  4.  

    验证gcc是否安装成功

    # rpm -qa |grep gcc

    编译redis时 提示make cc Command not found
  5.  

    重新对redis进行编译安装

    # make  && make install 

    通过下图可以看到编译通过,并成功安装redis。

    编译redis时 提示make cc Command not found
    编译redis时 提示make cc Command not found
  6. 6

    总结:在进行linux系统安装时,尤其是进行linux服务器安装时,系统工程师往往会最小化安装相应的在linux系统。那么,在这样的linux系统上进行源码文件编译安装时,通常都会出现cc: Command not found,这说明系统上没有安装C语言环境,需要安装,在linux系统上的C环境是gcc,因此需要安装gcc。

     

     

    发布于 2014-12-19 11:19:17 | 24844 次阅读 | 评论: 8 | 来源: PHPERZ

    这里有新鲜出炉的Redis 官方指南,程序狗速度看过来!

     

    Redis Key-Value数据库

    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

     


    本文为大家讲解的是Redis 2.8.18 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法,感兴趣的同学参考下。

    错误描述

    安装Redis 2.8.18时报错:

    zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
    zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
    make[1]: *** [adlist.o] Error 1
    make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
    make: *** [all] Error 2

    原因分析

    在README 有这个一段话。

    Allocator  
    ---------  
     
    Selecting a non-default memory allocator when building Redis is done by setting  
    the `MALLOC` environment variable. Redis is compiled and linked against libc  
    malloc by default, with the exception of jemalloc being the default on Linux  
    systems. This default was picked because jemalloc has proven to have fewer  
    fragmentation problems than libc malloc.  
     
    To force compiling against libc malloc, use:  
     
        % make MALLOC=libc  
     
    To compile against jemalloc on Mac OS X systems, use:  
     
        % make MALLOC=jemalloc


    说关于分配器allocator, 如果有MALLOC  这个 环境变量, 会有用这个环境变量的 去建立Redis。

    而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。

    但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数。

    解决办法

    make MALLOC=libc

 

在安装成功之后,可以运行测试,确认Redis的功能是否正常

$ make test

出现报错:

hadoop@stormspark:~/workspace/redis2.6.13/src$ make test
You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1

解决方式

安装tcl

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz  
sudo tar xzvf tcl8.6.1-src.tar.gz  -C /usr/local/  
cd  /usr/local/tcl8.6.1/unix/  
sudo ./configure  
sudo make  
sudo make install   

成功运行test

这里写图片描述

posted @ 2017-05-26 17:25  zl306222525  阅读(243)  评论(0编辑  收藏  举报