Linux(Centos)之安裝Redis及注意事項

1.redis簡單說明

  a.在前面我簡單的說過redis封裝成共用類的實現,地址以下:http://www.cnblogs.com/hanyinglong/p/Redis.htmlhtml

  b.redis是一個key-value存儲系統,它支持存儲的value類型相比較Memcached更多,包括string,list,set,sets,hashes等(It supports data structures such as strings,hashes,lists,sets,sorted sets with range queries,bitmaps,hyperloglogs and geospatial indexes with radius queies)這些數據類型都支持push/pop,Add/remove等豐富的操做,並且這些操做都是原子性的。
  c.redis和Memcached同樣,爲了保證效率,數據都是緩存在內存中的,區別就是redis會週期性的將更新的數據寫入磁盤,而且能夠實現主從(master-slave)同步。
  d.redis在數據存儲方面,採用了NoSql數據庫的思想,即將Key做爲數據檢索的惟一標示,能夠將其簡單的理解爲關係型數據庫中索引的鍵,而value則做爲數據存儲的主要對象,其中每個Value都有一個Key與之對應,在Redis中,Value將被視爲二進制字節流用於存儲任何格式的數據,如Json,XML,圖片和序列化對象的字節流等,所以咱們也能夠將其想象爲RDB中的Blob類型字段,從而在咱們進行數據查詢是,只能基於Key做爲咱們查詢的條件。
  e.redis官網:http://www.redis.io/

2.準備工做

  a.經過上面的說明以後咱們既能夠開始在linux系統下面安裝redis了,在安裝redis的過程當中我遇到了一些問題,但也所有解決了,原本我想直接寫而後遇到錯誤在引出來須要安裝什麼,可是感受不太好寫,因此我仍是在前面將這些軟件準備好,你們安裝的時候能夠先去安裝redis去驗證會不會出現問題,在解決也行。linux

  b.下載redis的包,下載地址:http://download.redis.io/releases/redis-3.0.5.tar.gz
  c.redis是C語言實現的,因此在Linux系統中須要安裝gcc來進行編譯,安裝gcc請參考第三步。
  d.接下來須要安裝Unix的Tcl工具,若是不安裝的話後期咱們將沒法對Redis進行測試,完成安裝以後make test會報錯,安裝tcl請參考第4步,tcl包的下載地址是:http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz
  e.安裝完成上面的幾個必須的包以後,便可以安裝redis,請參考第5步以後。
  f.操做須要的軟件以及系統以下:虛擬機(Vmware),虛擬機中安裝的Centos系統,Xshell,Xftp,redis包,tcl包。

3.gcc的安裝

  a.經過上面準備工做以後,咱們如今已經擁有了能夠安裝和發佈的環境,若是沒有,請自行查詢安裝。redis

  b.在centos下面安裝gcc,咱們使用yum(包管理器)安裝,由於gcc依賴了不少東西,而有些包系統可能已經安裝了,有些沒有,因此下面的命令最後都執行一遍,在Xshell中執行下面的命令:
    b.1 yum install cpp  
    b.2 yum install binutils
    b.3 yum install glibc-kernheaders
    b.4 yum install glibc-common
    b.5 yum install glibc-devel
    b.6 yum install gcc
    b.7 yum install make
    備註:以上全部的包信息在安裝完成的時候都會提示Complete,若是沒有是Complete,而是Nothing to do,則說明服務器已經安裝了這個包,不須要再次安裝,因此不要緊,繼續執行下一個命令便可。
  c.若是安裝過程當中沒有報錯,則說明gcc的安裝已經完成了,下面繼續安裝tcl。

4.Tcl的安裝

  a.在Xshell中使用命令跳轉到local下面建立屬於本身的文件夾:kenceryshell

    a.1  cd usr/local/   mkdir kencery   cd kencery/
  b. 而後使用Xftp將在準備工做下載的tcl包複製到kencery文件夾下面,如圖所示:
    
  c.將上傳的tcl包解壓,解壓以後重命名爲tcl,如圖所示
    c.1  tar -zxvf tcl8.6.3-src.tar.gz
    c.2  mv tcl8.6.3 tcl
    c.3 cd tcl 
  d.解壓完成以後使用下面的命令安裝,命令執行順序按照我寫的便可。
    d.1 cd unix/
    d.2  ./configure    
    d.3 make
    d.4 make install
  e.在執行的過程當中若是不出現錯誤,耐心等待便可,這些命令的截圖就不放在這裏了,按照我寫的順序執行便可。   

5.redis的安裝

  a.經過上面幾步以後,準備工做已經完成,便可以開始安裝redis了。數據庫

  b.使用Xftp將在準備工做下下載的redis包複製到kencery文件夾下面,如圖所示:
         
   c.將上傳的redis包解壓,解壓以後重命名爲redis,如圖所示:
    c.1  tar -zxvf redis-3.0.5.tar.gz 
    c.2 mv redis-3.0.5 redis
    c.3 cd redis
  d.當對包解壓完成以後,即可以開始對其進行安裝了,安裝的命令爲(在redis目錄下執行):
    d.1 make
      (1) 在練習的時候輸入make出現錯誤了,可是如今寫博客的時候部署沒有出現錯誤,若是出現錯誤,請使用這個命令(make MALLOC=libc)便可執行,由於沒有出現錯誤,因此沒有截圖,你們若是遇到的話給我截圖留言,謝謝。
      (2) 若是執行make出現錯誤,當再次執行make的話,咱們建議,清理一下在執行,命令爲:make clean。
    d.2  cd src/        make test 
      (1)在執行完make以後,在最後的程序中會輸出(t's a good idea to run 'make test'),它建議咱們執行make test進行測試,那麼接下來咱們就輸入make test,檢查測試,是否出現問題,如出現如圖所示:則說明測試沒有問題:
      
       (2)在輸入make test執行的時候我在練習的時候是會出現錯誤的,可是這個錯誤不影響咱們的測試,故而能夠忽略。
    d.3 make install
      最後執行make install,不出現錯誤的話則說明redis安裝成功,如圖所示:
      

6.redis的測試

   a.當安裝完redis以後,就須要進行測試,如下簡單作一個測試來驗證咱們的redis是否安裝成功。
  b.首先咱們啓動redis服務,啓動和關閉redis服務命令以下:
    b.1  src/redis-server &      啓動redis,加上&表示使redis之後臺程序方式運行
    b.2 redis-server /usr/local/kencery/redis/redis.conf  啓動redis
    b.3  src/redis-cli shutdown     關閉redis
    b.4 輸入啓動redis的命令,啓動redis,如圖所示:
      
    b.5  當redis啓動完成以後,使用netstat -ntlp |grep 6379  查看端口是否在使用中,若是在使用中,則說明安裝成功,不然安裝沒有成功。
      
    b.6 鏈接redis而且測試,鏈接命令爲:src/redis-cli,最後的測試結果如圖所示:
      
    b.7 到這裏reids的安裝和測試工做所有完成了。

7.Linux中設置redis的服務器啓動和關閉

   a.如上面所述,咱們已經完成了對redis的安裝,接下來就能夠按照上面的方法使用,可是這裏還存在一些小問題,那就是linux系統重啓以後都須要找到安裝路徑才能執行啓動命令,那麼咱們能夠設置按照service的形式來啓動redis嗎?
  b.執行命令:vim /etc/init.d/redis,建立腳本文件,在文件中寫入以下代碼,保存而且退出:
 1 # Date 2015-12-10
 2 # chkconfig: 2345 10 90  
 3 # description: Start and Stop redis   
 4 
 5 PATH=/usr/local/kencery/redis/src:/sbin:/usr/bin:/bin   
 6 REDISPORT=6379  
 7 EXEC=/usr/local/kencery/redis/src/redis-server   
 8 REDIS_CLI=/usr/local/kencery/redis/src/redis-cli   
 9 
10 PIDFILE=/var/run/redis.pid   
11 CONF="/usr/local/kencery/redis/redis.conf"  
12 AUTH="1234"  
13 case "$1" in   
14         start)   
15                 if [ -f $PIDFILE ]   
16                 then   
17                         echo "$PIDFILE exists, process is already running or crashed."  
18                 else  
19                         echo "Starting Redis server..."  
20                         $EXEC $CONF   
21                 fi   
22                 if [ "$?"="0" ]   
23                 then   
24                         echo "Redis is running..."  
25                 fi   
26                 ;;   
27         stop)   
28                 if [-f $PIDFILE ]   
29                 then   
30                         echo "$PIDFILE exists, process is not running."  
31                 else  
32                         PID=$(cat $PIDFILE)   
33                         echo "Stopping..."  
34                        $REDIS_CLI -p $REDISPORT  SHUTDOWN    
35                         sleep 2  
36                        while [ -x $PIDFILE ]   
37                        do  
38                                 echo "Waiting for Redis to shutdown..."  
39                                sleep 1  
40                         done   
41                         echo "Redis stopped"  
42                 fi   
43                 ;;   
44         restart|force-reload)   
45                 ${0} stop   
46                 ${0} start   
47                 ;;   
48         *)   
49                echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  
50                 exit 1  
51 esac
redis 腳本
  c.給文件添加權限,使用腳本文件能夠執行,命令爲:chmod 755 /etc/init.d/redis
  d.以上工做順利完成而且沒有出現報錯,則配置完成,每次咱們開機以後均可以輸入如下兩個命令啓動和關閉redis服務,如圖所示:
    d.1 service redis start  開啓redis服務
    d.2  service redis stop 關閉redis服務
    
  f.當開啓服務以後既能夠鏈接redis測試進行操做或者使用其餘客戶端來操做redis,測試如圖所示:
    

8.Linux中設置redis的開機啓動

  a.在大部分狀況下,咱們須要服務器從新啓動的時候自動開啓redis,而不是咱們手工的去開啓,那麼下來就說一下開機自動啓動的設置。vim

  b.首先設置redis.config中的daemonize爲yes,確保守護進行開啓,執行如下命令:
    b.1 cd usr/local/kencery/redis
    b.2 vim redis.conf  開啓配置文件,找到daemonize屬性酒設置爲yes, 保存而且退出便可。
  c.而後設置開機啓動,命令:chkconfig redis on
  d.當以上步驟完成以後,便可以能夠從新啓動Linux而後按照前面所寫的測試是否隨機器自動啓動了。
 
            下面咱們就繼續來學習redis的知識,下篇繼續,天天一點點,都是進步。
                
                文章中如哪裏存在問題,歡迎你們指出來,我會在第一時間修改。
 
                            君若不棄,我定不離
相關文章
相關標籤/搜索