1. 程式人生 > >CentOS安裝Redis、PHPredis擴充套件及Redis配置檔案詳解

CentOS安裝Redis、PHPredis擴充套件及Redis配置檔案詳解

一.redis安裝1. 下載Rediscd /app/wget http://download.redis.io/releases/redis-2.8.7.tar.gz2. 編譯安裝Redistar xf redis-2.8.7.tar.gzcd redis-2.8.7make && make install3.建立redis的配置檔案mkdir /etc/rediscp redis.conf /etc/redis/redis.conf4.調整下記憶體分配使用方式並使其生效echo “vm.overcommit_memory=1”>>/etc/sysctl.conf#此引數可用的值為0,1,2  #0表示當用戶空間請求更多的記憶體時,核心嘗試估算出可用的記憶體  #1表示核心允許超量使用記憶體直到記憶體用完為止  #2表示整個記憶體地址空間不能超過swap+(vm.overcommit_ratio)%的RAM值sysctl-p5.修改redis配置檔案
(只列出大多數需要修改的項)daemonize   yes          #redis以守護程序的方式執行,no表示不以守護程序的方式執行(會佔用一個終端)timeout 300              #客戶端閒置多長時間後斷開連線,預設為0關閉此功能loglevel  verbose        #設定redis日誌級別logfile stdout           #設定日誌檔案的輸出方式,如果以守護程序的方式執行redis並且日誌輸出設定為stdout,那麼日誌資訊就輸出到/dev/null裡面去了6. 啟動redis並且制定redis的配置檔案redis-server  /etc/redis/redis.conf
7.登陸redis測試是否可用redis-cli  set name jack  get name  jack二.PHPredis擴充套件安裝1.下載擴充套件包wget https://github.com/nicolasff/phpredis/archive/master.zip2. 解壓安裝redis擴充套件unzip master.zipcd phpredis-master./configure --with-php-config=/usr/bin/php-configmake && make install3.配置PHP的配置檔案,新增redis擴充套件vim /etc/php.iniextension="redis.so"4.重啟httpd服務讓擴充套件生效/etc/init.d/httpd restart5. 檢視PHPinfo中的redis擴充套件詳細資訊三.redis配置檔案主要引數解析參考daemonize
 no               #redis程序是否以守護程序的方式執行,yes為是,no為否(不以守護程序的方式執行會佔用一個終端)pidfile /var/run/redis.pid  #指定redis程序的PID檔案存放位置port 6379                   #redis程序的埠號bind 127.0.0.1              #繫結的主機地址timeout  300                #客戶端閒置多長時間後關閉連線,預設此引數為0即關閉此功能loglevel verbose            #redis日誌級別,可用的級別有debug.verbose.notice.warninglogfile stdout              #log檔案輸出位置,如果程序以守護程序的方式執行,此處又將輸出檔案設定為stdout的話,就會將日誌資訊輸出到/dev/null裡面去了databases 16                #設定資料庫的數量,預設為0可以使用select <dbid>命令在連線上指定資料庫idsave <seconds> <changes>    #指定在多少時間內重新整理次數達到多少的時候會將資料同步到資料檔案;rdbcompression yes          #指定儲存至本地資料庫時是否壓縮檔案,預設為yes即啟用儲存;dbfilename dump.db          #指定本地資料庫檔名dir ./                      #指定本地資料問就按存放位置;slaveof <masterip> <masterport>     #指定當本機為slave服務時,設定master服務的IP地址及埠,在redis啟動的時候他會自動跟master進行資料同步masterauth <master-password>        #當master設定了密碼保護時,slave服務連線master的密碼;requirepass footbared       #設定redis連線密碼,如果配置了連線密碼,客戶端在連線redis是需要通過AUTH<password>命令提供密碼,預設關閉maxclients 128              #設定同一時間最大客戶連線數,預設無限制;redis可以同時連線的客戶端數為redis程式可以開啟的最大檔案描述符,如果設定 maxclients 0,表示不作限制。當客戶端連線數到達限制時,Redis會關閉新的連線並向客戶端返回max number of clients reached錯誤資訊maxmemory<bytes>            #指定Redis最大記憶體限制,Redis在啟動時會把資料載入到記憶體中,達到最大記憶體後,Redis會先嚐試清除已到期或即將到期的Key,當此方法處理 後,仍然到達最大記憶體設定,將無法再進行寫入操作,但仍然可以進行讀取操作。Redis新的vm機制,會把Key存放記憶體,Value會存放在swap區appendonly no               #指定是否在每次更新操作後進行日誌記錄,Redis在預設情況下是非同步的把資料寫入磁碟,如果不開啟,可能會在斷電時導致一段時間內的資料丟失。因為 redis本身同步資料檔案是按上面save條件來同步的,所以有的資料會在一段時間內只存在於記憶體中。預設為noappendfilename appendonly.aof       #指定跟新日誌檔名預設為appendonly.aofappendfsync everysec         #指定更新日誌的條件,有三個可選引數no:表示等作業系統進行資料快取同步到磁碟(快),always:表示每次更新操作後手動呼叫fsync()將資料寫到磁碟(慢,安全), everysec:表示每秒同步一次(折衷,預設值);