標籤:串連 log 自動 complete 配置 伺服器 date grep 手工
1.redis簡單說明
1.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等豐富的操作,而且這些操作都是原子性的。
2.redis和Memcached一樣,為了保證效率,資料都是緩衝在記憶體中的,區別就是redis會周期性的將更新的資料寫入磁碟,並且可以實現主從(master-slave)同步。3.redis在資料存放區方面,採用了NoSql資料庫的思想,即將Key作為資料檢索的唯一標示,可以將其簡單的理解為關係型資料庫中索引的鍵,而value則作為資料存放區的主要對象,其中每一個Value都有一個Key與之對應,在Redis中,Value將被視為二進位位元組流用於儲存任何格式的資料,如Json,XML,圖片和序列化對象的位元組流等,因此我們也可以將其想象為RDB中的Blob類型欄位,從而在我們進行資料查詢是,只能基於Key作為我們查詢的條件。4.redis官網:http://www.redis.io/ 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.通過上面準備工作之後,我們現在已經擁有了可以安裝和發布的環境,如果沒有,請自行查詢安裝。
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下面建立屬於自己的檔案夾:kencery
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,建立指令碼檔案,在檔案中寫入如下代碼,儲存並且退出:
# Date 2017-06-21 # chkconfig: 2345 10 90 # description: Start and Stop redis PATH=/usr/local/kencery/redis/src:/sbin:/usr/bin:/bin REDISPORT=6379 EXEC=/usr/local/kencery/redis/src/redis-server REDIS_CLI=/usr/local/kencery/redis/src/redis-cli PIDFILE=/var/run/redis.pid CONF="/usr/local/kencery/redis/redis.conf" AUTH="1234" 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 exists, process is not running." else PID=$(cat $PIDFILE) echo "Stopping..." $REDIS_CLI -p $REDISPORT SHUTDOWN sleep 2 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
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,而不是我們手工的去開啟,那麼下來就說一下開機自動啟動的設定。
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然後按照前面所寫的測試是否隨機器自動啟動了。
Linux(Centos)之安裝Redis及注意事項