1. 程式人生 > 其它 >如何在Linux下安裝Redis

如何在Linux下安裝Redis

Redis 是一個高效能的key-value資料庫。 redis的出現,很大程度補償了memcached這類keyvalue儲存的不足,在部分場合可以對關係資料庫起到很好的補充作用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便。redis可以在windows,linux,mac環境下安裝,但一般是在linux環境下(伺服器)執行,而windows安裝也比較簡單,故此處提供Linux環境的redis安裝教程。

redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value型別相對更多,包括string字串、list(連結串列)、set(集合)和zset(有序集合)。這些資料型別都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支援各種不同方式的排序。與memcached一樣,為了保證效率,資料都是快取在記憶體中。區別的是redis會週期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)同步。

Redis 是一個高效能的key-value資料庫。 redis的出現,很大程度補償了memcached這類keyvalue儲存的不足,在部分場合可以對關係資料庫起到很好的補充作用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便。

redis可以在windows,linux,mac環境下安裝,但一般是在linux環境下(伺服器)執行,而windows安裝也比較簡單,故此處提供Linux環境的redis安裝教程。

1.下載壓縮包

首先先下載一下redis的壓縮包,開啟官網,選擇Download,往下滑動找到Other Version,點選下載5.0.12版本的,因為現在6.0版本的需要將gcc更新到5.3以上,而5.0版本其實就夠用了,想要安裝6.0版本的請參考以下程式碼升級gcc

升級到gcc 9.3:
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
需要注意的是scl命令啟用只是臨時的,退出shell或重啟就會恢復原系統gcc版本。
如果要長期使用gcc 9.3的話:
echo source /opt/rh/devtoolset-9/enable /etc/profile
這樣退出shell重新開啟就是新版的gcc了

2.在linux下安裝

將壓縮包放入 Linux中的 目錄 /opt下,可以使用xshell的ftp傳輸

再在控制面板中cd /opt進入資料夾進行解壓,命令為:tar -zxvf redis-5.0.12.tar.gz

解壓完成後cd redis-5.0.12/進入資料夾redis-5.0.12中,執行以下命令

# 配置基本的c++環境
yum install gcc-c++

# 配置之後,進行編譯
make

# 執行成功後,再次編譯
make install

3.配置Redis

安裝成功後我們需要修改Redis的配置檔案,我們採用複製一個備份的redis.conf檔案來避免配置出錯丟失原檔案

# 進入Redis的安裝地址
cd /usr/local/bin

# 建立一個存放Redis配置的資料夾
mkdir myredisconfig

# 將redis.conf檔案複製到此資料夾
cp /opt/redis-5.0.12/redis.conf myredisconfig/

# 對redis.conf進行修改
cd myredisconfig/
vim redis.conf

# 進入編輯頁面後,按i,進入編輯模式,找到daemonize no ,將no改為yes,再點選Esc鍵,輸入:wq儲存退出

4. 啟動redis服務

按照以上步驟後可以啟動redis服務,每次啟動的配置檔案都是myredisconfig/redis.conf檔案,以後每次啟動服務時可以直接使用語句redis-server usr/local/bin/myredisconfg/redis.conf ,如果安裝和配置都正確的話,輸入命令後會有對應的輸出。

# 啟動服務,6379是redis的埠,不能寫錯
redis-server redis.conf
redis-cli -p 6379

# 進行ping,若有PONG則證明成功!
ping

# 進行一些命令的測試
set name qing
get name

# 停止服務
shutdown
exit