獲取源碼
-
從github上下載redis源碼:https://github.com/redis/redis
切換到 6.0 分支,編譯不通過。 -
於是從 https://redis.io 下載源碼: https://download.redis.io/releases/redis-6.2.6.tar.gz
執行如下命令獲取源碼
cd /usr/local/src wget https://download.redis.io/releases/redis-6.2.6.tar.gz該版本的源碼編譯正常。
創建安裝目錄
- 此時創建
/usr/local/redis-6.2.6目錄,然后創建軟連接/usr/local/redis到該目錄:cd /usr/loca/ sudo mkdir redis-6.2.6 sudo ln -sf redis-6.2.6 redis sudo chown -R dongling:staff redis-6.2.6 redis # 將目錄owner修改為當前用戶,是為了當前用戶能夠讀寫該目錄,之后當前用戶可以直接將 redis 安裝到這里
編譯安裝
-
解壓后,進入 /usr/local/src/redis-6.2.6 目錄。執行如下命令,查看編譯步驟會如何執行
[21:12:28 dongling@noah redis-6.2.6]106$ make -n cd src && /Library/Developer/CommandLineTools/usr/bin/make all /bin/sh: pkg-config: command not found echo "" echo "Hint: It's a good idea to run 'make test' ;)" echo ""可以看到,命令行會進入
src目錄執行編譯命令。在src目錄下,果然找到一個Makefile。打開src/Makefile,可以看到結尾的install命令如下:install: all @mkdir -p $(INSTALL_BIN) $(call MAKE_INSTALL,$(REDIS_SERVER_NAME),$(INSTALL_BIN)) $(call MAKE_INSTALL,$(REDIS_BENCHMARK_NAME),$(INSTALL_BIN)) $(call MAKE_INSTALL,$(REDIS_CLI_NAME),$(INSTALL_BIN)) @ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_CHECK_RDB_NAME) @ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_CHECK_AOF_NAME) @ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_SENTINEL_NAME) uninstall: rm -f $(INSTALL_BIN)/{$(REDIS_SERVER_NAME),$(REDIS_BENCHMARK_NAME),$(REDIS_CLI_NAME),$(REDIS_CHECK_RDB_NAME),$(REDIS_CHECK_AOF_NAME),$(REDIS_SENTINEL_NAME)}可以知道
make install命令會把文件安裝到$(INSTALL_BIN)這個目錄下。其定義如下:PREFIX?=/usr/local INSTALL_BIN=$(PREFIX)/bin INSTALL=install PKG_CONFIG?=pkg-config將
src/Makefile中的變量INSTALL_BIN修改為INSTALL_BIN=$(PREFIX)/redis,這樣就可以將redis安裝到我們想要的/usr/local/redis目錄下了。 -
編譯並安裝
回到redis-6.2.6源碼目錄,執行如下命令:make # 編譯 make install # 安裝並將
redis-6.2.6/redis.conf文件 copy 到/usr/local/redis/conf目錄對
redis.conf中的配置項做如下修改:daemonize yes # 啟動的 redis-server 會以后台守護進程的方式運行 ### ... dir /usr/local/redis/data # 將數據目錄指定在固定的位置 ### .... appendonly yes # 打開appendonly 持久化這樣,
redis-server會以后台守護進程的方式運行;生成的 dump.rdb 和 appendonly.aof 文件會固定放置在/usr/local/redis/data目錄。
配置環境變量
-
修改配置文件
~/.bashrc,將redis目錄添加到PATH環境變量中REDIS_HOME=/usr/local/redis export PATH=$PATH:$REDIS_HOME alias startredis='redis-server ${REDIS_HOME}/conf/redis.conf' alias redis='redis-cli'環境變量生效后,直接在命令行執行
startredis即可啟動redis-server;
在命令行執行redis即可使用客戶端連接redis-server。
