淘淘商城系列——Redis的安裝
通過上文的學習,我相信大家已經將首頁的輪播圖展示出來了,接下來我們將進入一個新的領域的學習,希望大家能振作精神,保持樂觀向上的心態。本文我會教大家如何在Linux系統上安裝Redis。
一般來說,如果我們是做一個網際網路專案,通常都要在工程中新增快取,之所以這樣做,是因為在網際網路專案中查詢功能是非常頻繁的,如果每次查詢都呼叫資料庫的話,會給資料庫造成很大的壓力,因此需要在使用者和資料庫之間加一層快取,對於同樣的查詢,只查詢一遍資料庫,然後把資料儲存到快取當中,當其他使用者再訪問同樣的頁面時便可以直接從快取中去讀取資料,這樣查詢效率將會提升非常多,同時也會大大減輕資料庫的壓力。
聯絡我們這個淘淘商城專案來說,首頁是系統的門戶,也就是系統的入口,所以首頁的訪問量是這個系統最大的,如果每次展示首頁都從資料庫中查詢首頁的內容資訊,那麼勢必會對資料庫造成很大的壓力,所以需要使用快取來減輕資料庫壓力。實現快取的工具有很多,現在比較流行的是Redis,而我們在淘淘商城專案中也是用的Redis喲!
下面我教大家如何在Linux系統上安裝Redis。
下載Redis安裝版本
這裡需要說明一點的是,新版的redis不夠穩定,所以建議大家還是使用舊版本的redis,比如3.0.0版本。我下載的就是這個版本,如下圖所示。
將安裝包上傳到虛擬機器
之前我在這篇文章中已經詳細講解過如何上傳檔案到Linux,所以這裡我就不再贅述了。
怎樣知道我們真的上傳上去了呢?在當前使用者主目錄(即root)下使用ll
命令檢視一下該目錄。
解壓
使用tar -zxvf redis-3.0.0.tar.gz
命令將root目錄下的redis-3.0.0.tar.gz檔案還是解壓到該目錄下。
解壓成功之後,再使用ll
命令檢視一下該目錄,如下:
安裝gcc環境
由於redis是由c語言編寫的,所以安裝redis需要c語言的編譯環境,因此我們需要先安裝gcc。如果沒有gcc,則需要線上安裝,安裝命令是yum install gcc-c++
。
編譯
我們使用cd redis-3.0.0
命令切換到redis-3.0.0目錄中,這時就要執行make和make install這兩個命令,要執行make和make install命令就要有Makefile這個檔案,我們使用ll
命令是可以看到有這個檔案的。
然後我們使用make
命令編譯redis原始碼包。
安裝
我們使用make install PREFIX=/usr/local/redis
注意:PREFIX引數指定redis安裝的目錄,我們一般把軟體安裝到/usr(unix share resource)目錄下。usr目錄下是有local這個目錄的,但local目錄下面是沒有redis目錄的,如果redis目錄不存在,則會建立這個目錄。
安裝完之後,我們切換到/usr/local目錄下,可以看到redis目錄,如下圖所示。
接著我們進入redis目錄,在該目錄下可以看到bin目錄,進入到bin目錄可以看到redis的客戶端和服務端,如下所示。
啟動redis服務端
第一種啟動方式是前端啟動,即在redis的安裝目錄下直接使用./redis-server
命令啟動redis-server,如下所示(可以看到預設埠是6379),只不過這種啟動會佔用終端,如果我們按Ctrl+C
就會停止redis-server。
第二種啟動方式是使用配置檔案啟動(也叫後臺啟動),我們需要先到redis的解壓縮目錄(/root/redis-3.0.0)下把redis.conf檔案複製一份到/usr/local/redis/bin目錄下。
然後我們再切換到/usr/local/redis/bin目錄下,使用ll
命令可以看到有redis.conf這個檔案。
下面我們需要使用vim redis.conf
命令簡單修改下redis.conf檔案,把daemonize的值由預設的no修改為yes,這個配置是指定是否在後臺執行,如下圖所示。
修改完之後,可按esc
鍵+:wq
儲存修改,並退出編輯。
下面使用./redis-server redis.conf
命令進行後臺啟動,如下圖所示。
要想檢視redis是否正常啟動了,可以使用ps aux | grep redis
命令檢視程序,如下圖所示,可以看到已經正常啟動了。
關閉redis
如果redis是後臺啟動的話,那麼關閉redis有兩種方法。第一種方法是使用kill 程序id
命令關閉redis,如果你是要正常關閉redis,請使用該命令,不要使用kill -9 程序id
命令,因為該命令是直接殺死程序,比較暴力,而不管程序處於什麼狀態。
可以使用ps aux | grep redis
命令檢視是否還有該程序,如下圖所示,可以很明顯地看到沒有了。
第二種方法是使用./redis-cli shutdown
命令關閉redis。為了測試,我們再次啟動redis,然後使用該命令關閉redis,如下圖所示。
同樣可以使用ps aux | grep redis
命令檢視是否還有該程序,如下圖所示,可以很明顯地看到沒有了。
連線redis
我們可使用./redis-cli
命令連線上redis服務,然後使用ping命令,如果返回的是PONG,說明連線沒問題,即redis服務沒有掛掉。
從上圖可知,預設連線的是localhost執行在6379埠的redis服務。注意,此時如果要退出該連線,可按Ctrl+C
組合鍵。
我們還可以連線其它裝置上的redis,如下圖所示(當然,這裡我還是用的本地虛擬機器的IP,大家可以換成其它裝置的IP)。
其實redis裡面不只有ping命令,還有keys *
命令——檢視當前redis資料庫這裡面有多少個key,如下圖所示。
很明顯當前redis資料庫這裡面是沒有一個key的。
然後我們使用set key1 123
(redis是一個key-value形式的資料庫,類似於HashMap)命令在當前redis資料庫裡面設定一個key,這時再敲入keys *
命令,可以看到有一個key,即key1。
最後我們也可使用get key1
命令取出取key1所對應的內容。