Redis安裝 和 PHP-redis擴充安裝____PHP

來源:互聯網
上載者:User

Redis安裝

1, 下載: 

TCL 8.5:

http://www.tcl.tk/

REDIS:

http://redis.io


2, 安裝

首先安裝tcl8.5:

tar -zxvf tcl8.6.1-src.tar.gzcd tcl8.6.1/unix./configuremake && make install

再安裝redis:

tar -zxvf redis-2.6.16.tar.gzcd redis-2.6.16makemake testmake install


3,簡單配置:

在運行redis前,我們要配置一下。redis的設定檔在你的安裝目錄裡。名為:redis.conf。
簡單說幾點redis.conf:
redis預設不是用守護進程的,如果需要更改,把daemonize no改成daemonize yes。(測試的時候可以不改,看看列印資訊。)
如果對redis預設6379連接埠不爽的,可以更改port 6379
如果想把資料檔案放到一個指定檔案夾,更改dir /opt/data/
預設是dir ./ 也就是預設放到安裝目錄下。
dir 是資料檔案路徑。預設在安裝目錄下。
*下面的配置二選一,詳見本文注釋部分2。
###### SNAPSHOTTING ######記憶體快照方式:
預設的記憶體快照策略是,
在900秒(15分鐘)內,至少有1次資料變更;
或者300秒內,有至少10次資料變更;
或者60秒內,有至少1000次資料變更;時間+資料變更次數,共同影響記憶體快照的出現。
###### APPEND ONLY MODE ###### AOF方式
appendfsync everysec 每秒同步。這裡可以注釋掉,開啟下面的選項appendfsync no
其餘的配置,conf裡面的注釋寫的挺清楚,我就不多廢話了。大家看著自己配就行了。

下面是redis.conf的主要配置參數的意義:
daemonize:是否以後台daemon方式運行
pidfile:pid檔案位置
port:監聽的連接埠號碼
timeout:請求逾時時間
loglevel:log資訊層級
logfile:log檔案位置
databases:開啟資料庫的數量
save * *:儲存快照的頻率,第一個*表示多長時間,第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動儲存快照。可設定多個條件。
rdbcompression:是否使用壓縮
dbfilename:資料快照檔案名稱(只是檔案名稱,不包括目錄)
dir:資料快照的儲存目錄(這個是目錄)
appendonly:是否開啟appendonlylog,開啟的話每次寫操作會記一條log,這會提高資料抗風險能力,但影響效率。
appendfsync:appendonlylog如何同步到磁碟(三個選項,分別是每次寫都強制調用fsync、每秒啟用一次fsync、不調用fsync等待系統自己同步)
這時你可以開啟一個終端進行測試了,設定檔中預設的監聽連接埠是6379 配置詳情中文參考: https://github.com/silenceper/my/blob/master/config/redis2.4.chinese

4, 啟動redis

在安裝目錄下# cd src

#./redis-server ./../redis.conf
附註:
2.0.4以前的老版本,運行很簡單,在安裝目錄下:
#./redis-server


也可以把相關命令拷貝到 /usr/bin下來運行.

# cd redis-stable# cp redis.conf /etc/redis.conf# redis-server /etc/redis.conf

5, 關閉redis 
# redis-cli shutdown //關閉所有
關閉某個連接埠上的redis
# redis-cli -p 6397 shutdown //關閉6397連接埠的redis
說明:關閉以後快取資料會自動dump到硬碟上,硬碟地址見redis.conf中的dbfilename dump.rdb


6.測試

# redis-cli  redis> set name songbin  OK  redis> get name   "songbin"  

7, redis開機自動啟動

用這個指令碼管理之前,需要先配置下面的核心參數,否則Redis指令碼在重啟或停止redis時,將會報錯,並且不能自動在停止服務前同步資料到磁碟上:
# vi /etc/sysctl.conf
vm.overcommit_memory = 1
然後應用生效:
# sysctl –p
建立redis啟動指令碼:
# vim /etc/init.d/redis

# vim /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


然後增加服務並開機自啟動:

# chmod 755 /etc/init.d/redis # chkconfig --add redis # chkconfig --level 345 redis on # chkconfig --list redis

注釋:
▲redis的預設連接埠號碼是6379,(據redis的作者antirez的博文說,6379在是手機按鍵上MERZ對應的號碼,而MERZ取自意大利歌女Alessia Merz的名字。而MERZ長期以來被antirez及其朋友當作愚蠢的代名詞。)
 
▲Redis有兩種儲存方式,預設是snapshot方式,實現方法是定時將記憶體的快照(snapshot)持久化到硬碟,這種方法缺點是持久化之後如果出現crash則會丟失一段資料。因此在完美主義者的推動下作者增加了aof方式。aof即append only mode,在寫入記憶體資料的同時將操作命令儲存到記錄檔。


PHP-redis擴充安裝

1, 下載:

http://pecl.php.net

2, 安裝

tar -zxvf redis-2.2.4.tgzcd redis-2.2.4/usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin//php-config make && make install
3,修改php.ini

extension=redis.so

4. 重啟php 

kill `cat /var/run/php-fpm.pid ` && /usr/local/php/sbin/php-fpm 


使用phpRedisAdmin 管理redis

git clone https://github.com/ErikDubbelboer/phpRedisAdmin.gitcd phpRedisAdmingit clone https://github.com/nrk/predis.git vendor
移至一個可以訪問的目錄就可以管理了。(如果出錯看看是否關閉了selinux )


常用命令

redis的常用命令主要分為兩個方面、一個是索引值相關命令、一個是伺服器相關命令

1、索引值相關命令

      keys * 取出當前所有的key

      exists name 查看n是否有name這個key

      del name 刪除key name

      expire confirm 100 設定confirm這個key100秒到期

      ttl confirm 擷取confirm 這個key的有效時間長度

      select 0 選擇到0資料庫 redis預設的資料庫是0~15一共16個資料庫

      move confirm 1 將當前資料庫中的key移動到其他的資料庫中,這裡就是把confire這個key從當前資料庫中移動到1中

      persist confirm 移除confirm這個key的到期時間

      randomkey 隨機返回資料庫裡面的一個key

      rename key2 key3 重新命名key2 為key3

      type key2 返回key的資料類型

2、伺服器相關命令

      ping PONG返迴響應是否串連成功

      echo 在命令列列印一些內容

      select 0~15 編號的資料庫

      quit  /exit 退出用戶端

      dbsize 返回當前資料庫中所有key的數量

      info 返回redis的相關資訊

      config get dir/* 即時傳儲收到的請求

      flushdb 刪除當前選擇資料庫中的所有key

      flushall 刪除所有資料庫中的資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.