php redis 主从配置,Redis主从及其PHP扩展安装配置
1.Redis簡介Redis是一個(gè)key-value存儲(chǔ)系統(tǒng)。和Memcached類似,它支持存儲(chǔ)的value類型相對(duì)更多,包括string(字符串)、list(鏈表)、set(集合)和zset(有序集合)。這些數(shù)據(jù)類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎(chǔ)上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會(huì)周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。
Redis 是一個(gè)高性能的key-value數(shù)據(jù)庫。 redis的出現(xiàn),很大程度補(bǔ)償了memcached這類keyvalue存儲(chǔ)的不足,在部 分場合可以對(duì)關(guān)系數(shù)據(jù)庫起到很好的補(bǔ)充作用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便。
2.物理環(huán)境
Master:192.168.1.249 ? ? Centos 5.5
Slave:192.168.1.244 ? ? ?Centos 5.5
3.獲取redis軟件包
在redis的官方網(wǎng)站(http://www.redis.io)下載最新的穩(wěn)定版本redis-2.6.4.tar.gz。
4.安裝配置Redis主服務(wù)。
4.1用tar -zxvf解壓軟件包。
4.2用make && make install 編譯安裝Redis服務(wù)。
4.3創(chuàng)建Redis主配置文件目錄,并復(fù)制redis.conf到該目錄下面。
4.4編輯Redis主配置文件。1cat?/etc/redis/redis.conf
#redis?以后臺(tái)進(jìn)程運(yùn)行,默認(rèn)為NO
daemonize?yes
#如果已后臺(tái)程序運(yùn)行,則需要制定一個(gè)PID
pidfile?/data/logs/redis/redis.pid
#redis服務(wù)綁定的主機(jī)IP
bind?192.168.1.249
#redis監(jiān)聽的端口,默認(rèn)為6379
port?6379
#客戶端連接超時(shí)時(shí)間,默認(rèn)為300秒
timeout?600
#日志級(jí)別,分為debug,verbose(default),notice,waring
loglevel?notice
#日志文件存放位置,默認(rèn)為stdout
logfile?/data/logs/redis/redis.log
#可用數(shù)據(jù)庫數(shù),默認(rèn)為16
databases?16
#900秒內(nèi)至少有一個(gè)key被改變
save?900?1
#300秒內(nèi)至少有十個(gè)key被改變
save?300?10
#60秒內(nèi)只要有一萬個(gè)key被改變
save?60?10000
#存儲(chǔ)到本地?cái)?shù)據(jù)庫是否壓縮,默認(rèn)為yes
rdbcompression?yes
#本地?cái)?shù)據(jù)庫文件名,默認(rèn)為dump.rdb
dbfilename?yanzi_dump.rdb
#本地?cái)?shù)據(jù)庫存放路徑
dir?/data/redis/
#客戶端最大連接數(shù),默認(rèn)不限制
maxclients?128
#是否每次日志更新操作后進(jìn)行日志記錄
appendonly?yes
#更新日志文件名,默認(rèn)為appendonly.aof
appendfilename?yanzi_update.aof
#verysec表示每秒鐘同步一次數(shù)據(jù)到磁盤(默認(rèn)值)。
appendfsync?everysec
#redis?slave連接密碼
#requirepass?sfzhang
no-appendfsync-on-rewrite?no
auto-aof-rewrite-percentage?100
auto-aof-rewrite-min-size?64mb
slowlog-log-slower-than?10000
slowlog-max-len?1024
really-use-vm?yes
#是否使用虛擬內(nèi)存,默認(rèn)為no
vm-enabled?yes
#虛擬內(nèi)存文件路徑,默認(rèn)值為/tmp/redis.swap
vm-swap-file?/tmp/redis.swap
#默認(rèn)值為零,所有的values存儲(chǔ)在磁盤
vm-max-memory?0
#虛擬內(nèi)存文件以塊存儲(chǔ),每塊32bytes
vm-page-size?32
#虛擬內(nèi)存文件的最大數(shù)
vm-pages?134217728
#設(shè)置訪問swap文件的線程數(shù)
vm-max-threads?4
#指定在超過一定數(shù)量或者最大元素超過某一臨界時(shí),采用一種特殊的哈希算法
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
zset-max-ziplist-entries?128
zset-max-ziplist-value?64
#是否重置Hash表
activerehashing?yes
4.5啟動(dòng)Redis主服務(wù),并設(shè)置開機(jī)自動(dòng)重啟。
4.5查看Redis端口是否監(jiān)聽。
5.安裝配置Redis從服務(wù)器。
只需把主服務(wù)器/etc/redis/redis.conf配置文件復(fù)制到從服務(wù)器的/etc/redis/目錄里面,把配置文件的bind地址修改成主服務(wù)器的IP地址,并添加下面兩行即可。
6.Redis 主從配置測(cè)試。
在Redis主服務(wù)器上面用redis-cli登陸服務(wù)器,用set命令給sfzhang賦值一串字符,可以用get命令獲取該字符串的值。
在從服務(wù)器上面直接用get獲取該字符串的值,如果沒有報(bào)錯(cuò)且兩者的值相同,說明Redis主從配置是OK的,其中的-a參數(shù)表示連接密碼,密碼為sfzhang。
7.Redis PHP擴(kuò)展phpredis的安裝配置。7.1獲取phpredis軟件包,在redis官方網(wǎng)站clients里面下載PHP擴(kuò)展所需要的軟件包(https://github.com/owlient/phpredis/downloads)phpredis-master.zip。
7.2安裝配置phpredis。
[root@Redis249 software]# unzip phpredis-master.zip
[root@Redis249 software]# cd phpredis-master
[root@Redis249 software]#/usr/bin/phpize
[root@Redis249 software]#./configure -with-php-config=/usr/bin/php-config
[root@Redis249 software]#make && make install
7.3php.ini中添加extension=redis.so,然后重啟PHP的php-fpm服務(wù)。
7.4編寫PHP測(cè)試頁,測(cè)試php和redis是否能協(xié)同工作。
7.5瀏覽器訪問測(cè)試,如果出現(xiàn)I am sfzhang,I come from ningxia!!,說明PHP連接Redis 成功。
總結(jié)
以上是生活随笔為你收集整理的php redis 主从配置,Redis主从及其PHP扩展安装配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php简单网页制作代码,用HTML和CS
- 下一篇: 动态规划算法php,php算法学习之动态