一、 从官网上下载redis。php
二、安装gcchtml
三、进入./redis/src目录下make MALLOC =libcmysql
四、遇到的问题linux
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工做由VMware主持。redis
redis是一个key-value存储系统。和Memcached相似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操做,并且这些操做都是原子性的。在此基础上,redis支持各类不一样方式的排序。与memcached同样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操做写入追加的记录文件,而且在此基础上实现了master-slave(主从)同步。sql
下载解压redis-2.0.4后,执行make进行编译,结果出现下面的错误:数据库
make: cc: Command not found make: *** [adlist.o] Error 127缓存
这是因为新安装的Linux系统没有安装gcc环境,须要安装gcc,为了方便,这里我选择用yum进行安装。ruby
# yum install gcc服务器
验证gcc是否安装成功
# rpm -qa |grep gcc
从新对redis进行编译安装
# make && make install
经过下图能够看到编译经过,并成功安装redis。
总结:在进行linux系统安装时,尤为是进行linux服务器安装时,系统工程师每每会最小化安装相应的在linux系统。那么,在这样的linux系统上进行源码文件编译安装时,一般都会出现cc: Command not found,这说明系统上没有安装C语言环境,须要安装,在linux系统上的C环境是gcc,所以须要安装gcc。
发布于 2014-12-19 11:19:17 | 24844 次阅读 | 评论: 8 | 来源: PHPERZ
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