redis 資料庫安裝流程(Linux)
redis(Remote Dictionary Server)
是一個開源的使用ANSI C語言編寫、遵守BSD協議、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,提供了多種語言的API,因其值(value)可以是 字串(String),雜湊(hash),列表(list),集合(sets) 和有序集合(sorted sets)等型別,又被稱為資料結構伺服器。
Redis的所有操作都是原子性的,意思就是要麼成功執行要麼失敗完全不執行。單個操作是原子性的。多個操作也支援事務,即原子性,通過MULTI和EXEC指令包起來。Redis服務端的預設埠是6379
Redis和memcache相比的獨特之處
- redis可以用來做儲存(storge)、而memcache是來做快取(cache),這個特點主要是因為其有“持久化”功能;
- 儲存的資料有“結構”,對於memcache來說,儲存的資料,只有一種型別——“字串”,而redis則可以儲存字串、連結串列、集合、有序集合、雜湊值。
redis 安裝流程
-
定位到你要下載和解壓的資料夾,如
# cd /usr/local/src
-
依次輸入以下指令,進行安裝
$ wget http://download.redis.io/releases/redis-5.0.3.tar.gz
- 如果提示
則執行以下語句,安裝 wget 命令[[email protected] src]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz -bash: wget: command not found
[[email protected] src]# yum -y install wget
- 執行 wget 命令下載
$ tar -xzvf redis-5.0.3.tar.gz
// tar 指令解壓檔案
$ cd redis-5.0.3
$ make
// 呼叫 make 指令,執行編譯,make是自動編譯,會根據Makefile中描述的內容來進行編譯
如果出現報錯
cc: command not found
,則安裝gcc命令,gcc是c的編譯命令
# yum -y install gcc-c++
// 安裝 make 工具的編譯器 gcc
安裝成功後,再次執行 make 命令,如果再次報錯
則輸入
make clean
後再次 執行make
,然後檢查redis-5.0.3/src
目錄或/usr/local/bin
下有沒有redis-server
、redis-cli
,若無,則把redis-5.0.3 資料夾刪掉,再解壓一次redis的壓縮包,然後cd redis-5.0.3
進入資料夾中,再次執行make 指令
如果執行make test
出現You need tcl 8.5 or newer in order to run the Redis test
,需要安裝tcl
,輸入yum install tcl
,然後make test
就可以再執行了
安裝 tcl 之後,如果再次make test 報錯 warning,則先執行make clean
,接著再執行make
,然後再執行make test
即可
或者使用# make PREFIX=/usr/local/src/redis install
// 執行安裝,指向特定的資料夾 redis
PS: 注意此命令的使用,儘量不和make
同時使用,避免安裝到了不同的資料夾,而引起後面./redis-server
和./redis-cli
啟動宕機的情況,因此 儘量避免make
使用了之後還用# make PREFIX=/usr/local/src/redis install
指定 prefix 的優點linux中不指定 prefix 檔案預設存放 可執行檔案 /usr/local/bin 庫檔案 /usr/local/lib 配置檔案 /usr/local/etc 其他資原始檔 /usr/local/share 如果要解除安裝這個程式,要麼在原來make目錄下用make uninstall,要麼去上述檔案中一個一個手動刪除,而指定
prefix
,直接刪掉一個資料夾就夠了。 - 如果提示
-
進入 安裝 redis 的資料夾 usr/local/src/redis-5.0.3/src ,啟動 redis 伺服器,並進行相關配置
# cd usr/local/src/redis-5.0.3/src
# ./redis-server
// 啟動 redis 伺服器,第一次啟動
預設情況下,redis不是在後臺執行,我們需要把redis放在後臺執行;
當執行 redis-server 後不繼續操作,且沒有提示congratulation loaded
,此時是在前臺啟動的,按ctrl + C 可退出redis 啟動視窗,此時 redis 並不會關閉,而是會在後臺執行,可通過命令ps aux | grep redis
檢視,並且此時需要重新啟動一個客戶端來進行登陸操作,這樣非常不方便,所以,我們需要設定通過配置項啟動,control + z 退出,進入cd usr/local/src/redis-5.0.3
找到redis.conf,輸入:
# vim redis.conf
# redis-server /usr/local/src/redis-5.0.3/redis.conf
// 修改 daemonize 之後退出,啟動該列指令,usr前面的斜槓不能少,末尾一定要帶上redis.conf,以後啟動都需要執行該指令,否則同樣需要新開視窗
設定 redis 伺服器指令碼啟動步驟
- 複製目標檔案:在
/etc/init.d
目錄下建立redis的啟動指令碼:將 redis-5.0.3 目錄下的 utils/redis_init_script 複製到 /etc/init.d 目錄下,命名為 redis_scriptstart
- 編輯啟動檔案,修改其中指定的pid和配置檔案
-
建立存放pid(程序id)的資料夾,/var/redis/run,注意 redis 預設不是以守護程序的方式執行,可以通過該配置項修改,使用yes啟用守護程序
daemonize no
->daemonize yes
,當 redis 以守護程序方式執行時,redis預設會把pid寫入 /var/redis/run/redis_6379.pid 檔案,可以通過pidfile指定pidfile /var/redis/run/redis_6379.pid
-
建立存放配置檔案的資料夾,/etc/redis,並將配置檔案複製到此目錄下,同時修改 .conf 配置
最後便可以通過service redis_scriptstart start
指令開啟 redis 伺服器。
redis-benchmark | redis效能測試工具 |
---|---|
redis-check-aof | 檢查aof日誌的工具 |
redis-check-dump | 檢查rdb日誌的工具 |
redis-cli | 連線用的客戶端 |
redis-server | redis服務程序 |