1. 程式人生 > >Linux上Redis的安裝過程以及注意事項

Linux上Redis的安裝過程以及注意事項

         在開發過程中,經常會遇到快取資料的問題,Java裡面用來快取資料的有Ehcache,redis,memcached等快取技術,這幾種快取技術我在專案中都使用過,就我開發過程中來看,覺得Redis還是比較好用一些,功能更強大一些,快取資料格式多樣化一些。下面我就講講怎麼在Linux系統上安裝Redis以及安裝過程中需要主要的事項。

        1.下載最新穩定版的Redis

下載地址    http://redis.io/download
        推薦下載r最新版的edis-3.2.1.tar.gz,因為版本越高,功能越強,而且本來就會相容以前的功能。

       2.安裝Redis

a)  下載後把 redis-1.2.6.tar.gz 拷貝到你的Linux系統的任意目錄,例如/usr/local/tools下面

b)  然後進行解壓操作,tar -zxvf redis-3.2.1.tar.gz ,解壓後在你的目錄下會生成redis-3.2.1資料夾

c)   進入redis-3.2.1資料夾裡面, cd /usr/local/tools/redis-3.2.1  ,然後執行make操作 

如果在make過程出現錯誤,可能是你 Linux系統裡面沒有安裝Redis 需要的外掛,你可以使用下面命令進行安裝:

          yum -y install gcc gcc-c++ libstdc++-devel

  

             安裝完後,再執行make命令,如果還有錯誤的話,

            如果報錯

     zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
     zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
     make[1]: *** [adlist.o] Error 1
     make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
     make: *** [all] Error 2

         解決辦法很簡單,執行以下命令就OK了:

             make MALLOC=libc

         理由是:Redis並沒有自己實現記憶體池,沒有在標準的系統記憶體分配器上再加上自己的東西。

    d)  拷貝檔案以備把Redis做成自啟動服務,就是你在啟動Linux系統的使用就會把Redis 服務一起啟動起來

         cp redis.conf /etc/ 這個檔案時redis啟動的配置檔案
         cp redis-benchmark redis-cli redis-server /usr/bin/ #這個很有用,這樣就不用再執行時加上./了,而且可以在任何地方執行

    e)  如果你的Linux系統有防火牆的話,你需要更改以下防火牆的設定或者直接關掉防火牆,不過你關掉防火牆的話,就不能保護你的電腦了。

         開啟redis埠,修改防火牆配置檔案     vi /etc/sysconfig/iptables 
         加入埠配置    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT 
         重新載入規則    service iptables restart 

       到這你的Redis 就安裝完了。

    3.Redis 自啟動服務實現

新建檔案  /etc/init.d/redis 並賦予它許可權   chmod +x /etc/init.d/redis

    在 /etc/init.d/redis 檔案中新增以下程式碼:

          # chkconfig:   2345 90 10

          # description:  Redis is a persistent key-value database

    PATH=/usr/local/bin:/sbin:/usr/bin:/bin     REDISPORT=6379     EXEC=/usr/local/bin/redis-server     //EXEC和REDIS_CLI這兩個路徑需要注意的是,它的路徑是你Redis安裝包路徑下面的redis-server 和 redis-cli
    REDIS_CLI=/usr/local/bin/redis-cli     PIDFILE=/var/run/redis.pid     CONF="/etc/redis.conf"     case "$1" in     start)     if [-f $PIDFILE ]     then      echo "$PIDFILE exists, process is already running or crashed"     else      echo "Starting Redis server..."     $EXEC $CONF     fi     if ["$?"="0" ]     then      echo "Redis is running..."     fi     ;;     stop)     if [!-f $PIDFILE ]      then      echo "$PIDFILE does not exist, process is not running"      else       PID=$(cat $PIDFILE)
     echo "Stopping ..."      $REDIS_CLI -p $REDISPORT SHUTDOWN      while [-x ${PIDFILE}]      do       echo "Waiting for Redis to shutdown ..."       sleep 1       done       echo "Redis stopped"       fi       ;;       restart|force-reload)       ${0} stop       ${0} start       ;;       *)      echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2     exit 1     esac

        以上實現以後,你還需要修改redis.conf檔案,將 daemonize no 改為 daemonize yes,讓它在後臺作為daemon執行。

       設定開機啟動服務   chkconfig redis on

      然後就可以開啟 Redis服務了,命令:  service redis start 。關閉命令: service redis stop.

4. 檢視Redis服務是否開啟

     通過命令: ps -ef|grep redis 可以檢視它的服務是否開啟。