天天看點

redis的下載下傳與安裝(linux版)

redis的下載下傳與安裝(linux版)

1.下載下傳路徑

https://redis.io/download

2.上傳到linux并且解壓

3.進入解壓之後的redis,并且make && make install

4.安裝成功之後,進入Redis的src目錄

啟動服務端:./redis-server

啟動用戶端:./redis-cli

啟動之後輸入 ping 回複pong 表明成功

----------------------------------

對于redis安裝的這個錯誤,我在部落格redis 安裝 與錯誤解決辦法最後有提及,但是網上大部分文章的對這個問題的解答都是有誤的。是以在這裡單列出來。

錯誤内容:

jemalloc/jemalloc.h: No such file or directory。

文檔

針對這個錯誤,我們可以在README.md 檔案中看到解釋。

---------

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

Verbose build
-------------
           

網上錯誤解決辦法

網上大部分解決辦法都是錯誤的,如下文:

(錯誤解決辦法)

make MALLOC=libc
           

正确解決辦法

正确解決辦法(針對2.2以上的版本)

清理上次編譯殘留檔案,重新編譯

make distclean  && make
           

導緻出現這個錯誤的原因

  錯誤的本質是我們在開始執行make 時遇到了錯誤(大部分是由于gcc未安裝),然後我們安裝好了gcc 後,我們再執行make ,這時就出現了jemalloc/jemalloc.h: No such file or directory。這是因為上次的

編譯失敗,有殘留的檔案,我們需要清理下,然後重新編譯就可以了。

網上的解決辦法是有什麼錯誤嗎?

  網上的解決辦法雖然最後也是可以成功安裝好 redis ,但是是有一些隐患的,首先我們要知道redis 需要使用記憶體配置設定器的, make MALLOC=jemalloc 就是指定記憶體配置設定器為 jemalloc ,make MALLOC=libc 就是指定記憶體配置設定器為 libc ,這個是有安全隐患的,jemalloc 記憶體配置設定器在實踐中處理記憶體碎片是要比libc 好的,而且在README.md 文檔也說明到了,jemalloc記憶體配置設定器也是包含在源碼包裡面的,可以在deps 目錄下看到 jemalloc 目錄。

繼續閱讀