linux下Redis以及phpredis擴展安裝

linuxRedis以及phpredis擴展安

 

首先安裝redis

一.下載redis

   wgethttp://download.redis.io/releases/redis-2.8.10.tar.gz


二.解壓並安裝redis

   tar zxvf redis-2.8.10.tar.gz

   cp -a redis-2.8.10 /usr/local/redis

   cd /usr/local/redis/

   make && make install


三.更改redis配置文件:

   vim redis.conf

 daemonize yes
 pidfile /usr/local/redis/var/redis.pid  
 port 6379  
 timeout 300  
 loglevel verbose  
 logfile /usr/local/redis/var/redis.log  
 databases 16  
 save 900 1  
 save 300 10  
 save 60 10000  
 rdbcompression yes  
 dbfilename dump.rdb  
 dir /usr/local/redis/var  
 slave-serve-stale-data yes  
 appendonly no  
 appendfsync everysec  
 no-appendfsync-on-rewrite no  
 vm-enabled no  
 vm-swap-file /tmp/redis.swap  
 vm-max-memory 0  
 vm-page-size 32  
 vm-pages 134217728  
 vm-max-threads 4  
 hash-max-zipmap-entries 512  
 hash-max-zipmap-value 64  
 list-max-ziplist-entries 512  
 list-max-ziplist-value 64  
 set-max-intset-entries 512  
 activerehashing yes

 

Redis配置解釋說明:

1,是否以後臺進程運行,默認爲no

daemonize no

2,如以後臺進程運行,則需指定一個pid,默認爲/var/run/redis.pid

pidfile /var/run/redis.pid

3,監聽端口,默認爲6379

port 6379

4,綁定主機IP,默認值爲127.0.0.1(註釋)

bind 127.0.0.1

5,超時時間,默認爲300(秒)

timeout 300

6,日誌記錄等級,有4個可選值,debug,verbose(默認值),notice,warning

loglevel verbose

7,日誌記錄方式,默認值爲stdout

logfile stdout

8,可用數據庫數,默認值爲16,默認數據庫爲0

databases 16

9,指出在多長時間內,有多少次更新操作,就將數據同步到數據文件。這個可以多個條件配合,比如默認配置文件中的設置,就設置了三個條件。

900秒(15分鐘)內至少有1個key被改變

save 900 1

300秒(5分鐘)內至少有10個key被改變

save 300 10

10,存儲至本地數據庫時是否壓縮數據,默認爲yes

rdbcompression yes

11,本地數據庫文件名,默認值爲dump.rdb

dbfilename /root/redis_db/dump.rdb

12,本地數據庫存放路徑,默認值爲 ./

dir /root/redis_db/

13,當本機爲從服務時,設置主服務的IP及端口(註釋)

slaveof <masterip> <masterport>

14,當本機爲從服務時,設置主服務的連接密碼(註釋)

masterauth <master-password>

15,連接密碼(註釋)

requirepass foobared

16,最大客戶端連接數,默認不限制(註釋)

maxclients 128

17,設置最大內存,達到最大內存設置後,Redis會先嚐試清除已到期或即將到期的Key,當此方法處理後,任到達最大內存設置,將無法再進行寫入操作。(註釋)

maxmemory <bytes>

18,是否在每次更新操作後進行日誌記錄,如果不開啓,可能會在斷電時導致一段時間內的數據丟失。因爲redis本身同步數據文件是按上面save條件來同步的,所以有的數據會在一段時間內只存在於內存中。默認值爲no

appendonly yes

19,更新日誌文件名,默認值爲appendonly.aof(註釋)

appendfilename /root/redis_db/appendonly.aof

20,更新日誌條件,共有3個可選值。no表示等操作系統進行數據緩存同步到磁盤,always表示每次更新操作後手動調用fsync()將數據寫到磁盤,everysec表示每秒同步一次(默認值)。

appendfsync everysec

21,是否使用虛擬內存,默認值爲no

vm-enabled yes

22,虛擬內存文件路徑,默認值爲/tmp/redis.swap,不可多個Redis實例共享

vm-swap-file /tmp/redis.swap

23,將所有大於vm-max-memory的數據存入虛擬內存,無論vm-max-memory設置多小,所有索引數據都是內存存儲的 (Redis的索引數據就是keys),也就是說,當vm-max-memory設置爲0的時候,其實是所有value都存在於磁盤。默認值爲0。

vm-max-memory 0

24,虛擬內存文件以塊存儲,每塊32bytes

vm-page-size 32

25,虛擬內在文件的最大數

vm-pages 134217728

26,可以設置訪問swap文件的線程數,設置最好不要超過機器的核數,如果設置爲0,那麼所有對swap文件的操作都是串行的.可能會造成比較長時間的延遲,但是對數據完整性有很好的保證.

vm-max-threads 4

27,把小的輸出緩存放在一起,以便能夠在一個TCP packet中爲客戶端發送多個響應,具體原理和真實效果我不是很清楚。所以根據註釋,你不是很確定的時候就設置成yes

glueoutputbuf yes

28,在redis 2.0中引入了hash數據結構。當hash中包含超過指定元素個數並且最大的元素沒有超過臨界時,hash將以一種特殊的編碼方式(大大減少內存使用)來存儲,這裏可以設置這兩個臨界值

hash-max-zipmap-entries 64

29,hash中一個元素的最大值

hash-max-zipmap-value 512

30,開啓之後,redis將在每100毫秒時使用1毫秒的CPU時間來對redis的hash表進行重新hash,可以降低內存的使用。當你的使 用場景中,有非常嚴格的實時性需要,不能夠接受Redis時不時的對請求有2毫秒的延遲的話,把這項配置爲no。如果沒有這麼嚴格的實時性要求,可以設置 爲yes,以便能夠儘可能快的釋放內存

activerehashing yes


四.啓動redis

mkdir /usr/local/redis/var

redis-server /usr/local/redis/redis.conf

檢查:

[root@localhost ~]# lsof -i:6379
COMMAND     PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
redis-ser 15055 root    4u  IPv4 3400359      0t0  TCP localhost:6379 (LISTEN)
[root@localhost ~]# ps -ef|grep redis
root     15055     1  0 16:28 ?        00:00:02 redis-server 127.0.0.1:6379             
root     19272 18679  0 17:15 pts/2    00:00:00 grep redis


五.加入開機自啓動:

echo "redis-server /usr/local/redis/redis.conf" >>/etc/rc.local


六.測試:

[root@localhost ~]# redis-cli set test1 "123"
OK
[root@localhost ~]# redis-cli get test1
"123"


 

 

安裝phpredis擴展:

一.下載phpredis:

wget https://github.com/owlient/phpredis/tarball/master/owlient-phpredis-2.1.1-1-g90ecd17.tar.gz

tar zxvf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz

cd owlient-phpredis-90ecd17/


二.用phpize來擴展php模塊:(注意使用全路徑)

/usr/local/webserver/php/bin/phpize


三.編譯安裝:

./configure--with-php-config=/usr/local/webserver/php/bin/php-config

make && make install


四.更改php.ini

vim /usr/local/webserver/php/lib/php.ini

添加以下內容:

extension_dir=/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20121212/
extension = redis.so


五.重啓php後查看phpinfo

wKiom1ORilTRIvPFAABgiEDkvhE516.jpg

出現以上信息,說明phpredis擴展安裝成功。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章