標籤:linux redis 安裝教程
背景:
Redis始於一個意大利創業公司Merzia,創始人Salvatore Sanfilippo以及另外一名主要代碼貢獻者Pieter Noordhuis目前在VMware,全職開發Redis。Redis代碼託管在Github上。
Redis在效能上是單執行緒模式,而Memcached支援多線程,所以在多核伺服器上後者的效能更高一些,然而Redis的效能已經足夠優異,在絕大部分場合下其效能都不會成為瓶頸。所以在使用時更應該關心的是二者功能上的區別,如果需要用到進階的資料類型或是持久化等功能,Redis將會是Memcached很好的替代品。
如果,Redis配合Lua指令碼,那樣就是完美的緩衝,Lua可以解決Redis單線程模式,高速讀寫redis
環境:
單台機器,虛擬機器,IP:192.168.0.222
系統:Centos 6.3 64bit mini-install
準備工作:
tcl8.6.1-src.tar.gz redis-2.6.14.tar.gz phpredis-master.tar.gz
去對應官方網站,下載,這三個開源包,不懂就百度,別找幾個包都不會,那就蛋碎了!
安裝步驟:
1、先編譯一下環境,把gcc和make都給yum上
yum -y install gcc make tar xzvf tcl8.6.1-src.tar.gz cd tcl8.6.1/ |
2、開始安裝tcl,tcl是redis的最主要依賴工具,所以需要編譯
cd unix && ./configure --prefix=/usr \ --without-tzdata \ --mandir=/usr/share/man \ $([ $(uname -m) = x86_64 ] && echo --enable-64bit) && make && sed -e "[email protected]^\(TCL_SRC_DIR=‘\).*@\1/usr/include‘@" \ -e "/TCL_B/[email protected]=‘\(-L\)\?.*[email protected]=‘\1/usr/[email protected]" \ -i tclConfig.sh |
官網說這一步完成之後,可以make test一下,坑人啊,千萬不要make test,一旦你make test,那麼你可以去喝幾杯咖啡休息一下了,至少半個小時才能完成。
3、開始安裝tcl,並且配置庫檔案環境
make install && make install-private-headers && ln -v -sf tclsh8.6 /usr/bin/tclsh && chmod -v 755 /usr/lib/libtcl8.6.so |
4、依賴封裝完,現在可以開始安裝 redis了,不過,安裝redis之前,需要編譯一下伺服器環境
echo 1 > /proc/sys/vm/overcommit_memory echo vm.overcommit_memory=1 >> /etc/sysctl.conf sysctl vm.overcommit_memory=1 |
如果不先配置下面的核心參數,Redis指令碼在重啟或停止redis時,將會報錯,並且不能自動在停止服務前同步資料到磁碟上
5、安裝redis
tar xzvf redis-2.6.14.tar.gz cd redis-2.6.14 make make test make install cp redis.conf /etc/ |
6、編輯/etc/redis.conf ,修改daemaon no 為daemaon yes ,以守護進程方式啟動進程。
7、建立 /etc/init.d/redis 啟動指令碼,並且輸入下面的內容填充
vi /etc/init.d/redis ----------------------------------從下面開始,複製,然後張貼上去 #!/bin/bash # # Init file for redis # # chkconfig: - 80 12 # description: redis daemon # # processname: redis # config: /etc/redis.conf # pidfile: /var/run/redis.pid source /etc/init.d/functions #BIN="/usr/local/bin" BIN="/usr/local/bin" CONFIG="/etc/redis.conf" PIDFILE="/var/run/redis.pid" ### Read configuration [ -r "$SYSCONFIG" ] && source "$SYSCONFIG" RETVAL=0 prog="redis-server" desc="Redis Server" start() { if [ -e $PIDFILE ];then echo "$desc already running...." exit 1 fi echo -n $"Starting $desc: " daemon $BIN/$prog $CONFIG RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog return $RETVAL } stop() { echo -n $"Stop $desc: " killproc $prog RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE return $RETVAL } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; condrestart) [ -e /var/lock/subsys/$prog ] && restart RETVAL=$? ;; status) status $prog RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|restart|condrestart|status}" RETVAL=1 esac exit $RETVAL
|
8、設定redis 啟動許可權,並且開啟自動啟動模式
chmod 755 /etc/init.d/redis chkconfig --add redis chkconfig --level 345 redis on chkconfig --list redis |
9、啟動redis
redis-server /etc/redis.conf 或者,可以用下面這條 service redis stat |
發現進程,線上,那麼就說明redis安裝成功了
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/47/E0/wKiom1QCmKmQ-jBYAACxOQIpAJY743.jpg" title="Unnamed QQ Screenshot20140831113620.png" alt="wKiom1QCmKmQ-jBYAACxOQIpAJY743.jpg" />
10、測試一下redis,是否正常運作,進行寫入和讀取操作
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/47/E2/wKioL1QCmf7z8rvTAAB33Lcsdcc789.jpg" title="QQ Photo20140831113736.jpg" alt="wKioL1QCmf7z8rvTAAB33Lcsdcc789.jpg" />
很明顯,可以set,也就是說可以寫入,zhou這個key,對應的value值為 1234
然後,我們又get,也就是說,擷取 zhou這個key,對應的value值為1234
如果看不懂這幾條命令也沒關係,後續文章,我會講解一下,redis這些常見操作"cli"
11、既然安裝完成了,那麼,接下來就是投入運營的問題了,這些都是單一命令,不適合運營,所以,我們需要弄一個API,普遍用的web語言就是PHP,所以,我們需要讓他支援PHP,因此,需要裝一個php外掛程式。
12、安裝php外掛程式之前,需要先安裝PHP環境,php安裝我就不羅嗦了,不懂可以去看我這篇文章
Centos Nginx+PHP Install 史上最完美
13、開始安裝PHP外掛程式
tar xvf phpredis-master.tar.gz cd phpredis-master phpize ---注意,這裡要記住系統輸出來的路徑, ./configure --enable-redis make && make install |
14、編輯/etc/php.ini,加入下面兩句
extension_dir = "/usr/lib64/php/modules/" 這個路徑,就是上面我讓你記住的那個輸出來值 extension = redis.so |
15、重啟一下php就完事了。
16、php怎麼調用 redis,請看後續文章。
本文出自 “周氏一族” 部落格,謝絕轉載!
Redis 安裝教程-單機