1.redis簡單說明
a.在前面我簡單的說過redis封裝成共用類的實現,地址以下:http://www.cnblogs.com/hanyinglong/p/Redis.html。html
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做爲咱們查詢的條件。
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請參考第三步。
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的知識,下篇繼續,天天一點點,都是進步。
文章中如哪裏存在問題,歡迎你們指出來,我會在第一時間修改。
君若不棄,我定不離