一、 從官網上下載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