Windows下安裝Redis及php的redis擴(kuò)展

Redis簡介

? ? Redis是一個(gè)key-value存儲(chǔ)系統(tǒng)炮障。和Memcached類似,它支持豐富的數(shù)據(jù)類型然低,最為常用的數(shù)據(jù)類型主要有五種,分別是:string(字符串)、 hash(哈希)雳攘、list(鏈表)带兜、set(集合)和zset(有序集合)。Redis通常將數(shù)據(jù)存儲(chǔ)于內(nèi)存中吨灭,或被配置為使用虛擬內(nèi)存刚照。與memcached不同的是,redis會(huì)周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件沃于,以此來達(dá)到數(shù)據(jù)持久化的目的涩咖,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。當(dāng)前 Redis的應(yīng)用已經(jīng)非常廣泛繁莹,國內(nèi)像新浪檩互、淘寶,國外像 Flickr咨演、Github等均在使用Redis的緩存服務(wù)闸昨。

環(huán)境要求

? ? Windows 64位操作系統(tǒng)

? ??php-7.2.2-Win32-VC15-x64

? ? Redis-x64-4.0.2.2

? ? php_redis-4.0.2-7.2-ts-vc15-x64

? ? php_igbinary-2.0.7-7.2-ts-vc15-x64(php_redis擴(kuò)展依賴)

? ? 資源下載地址

? ??php7.2Redis薄风、php-redis饵较、php-igbinary

? ? 注意事項(xiàng):windows環(huán)境下,https://github.com/MicrosoftArchive/redis/releases資源列表里面能找到的最新版本為3.2遭赂,但是卻沒有資源庫能夠提供對(duì)應(yīng)版本的php-redis擴(kuò)展循诉,真TM扯淡。

安裝Redis

? ? 將下載下來的redis壓縮包Redis-x64-4.0.2.2.zip解壓至某個(gè)目錄撇他,如圖:

? ? 根據(jù)自己所采用的啟動(dòng)方式茄猫,修改對(duì)應(yīng)的配置文件。另外困肩,出于安全方面的考慮划纽,通常需要為redis設(shè)置連接密碼,找到配置文件中含有requirepass foobared字樣的行锌畸,在其下面新增一行勇劣,如圖:

? ? 設(shè)置Redis連接密碼后,客戶端在連接Redis時(shí)需要通過AUTH <password>命令提供密碼潭枣。

數(shù)據(jù)持久化

? ? Redis提供了兩種持久化的方式比默,將內(nèi)存中的數(shù)據(jù),存儲(chǔ)在磁盤上卸耘。分別是rdb和aof(默認(rèn)關(guān)閉)退敦,默認(rèn)使用的是rdb方式,我們可以根據(jù)自己的需求蚣抗,決定采用哪一種方式侈百。

? ? RDB方式

? ? Redis通過創(chuàng)建快照的方式獲取某一時(shí)刻Redis中所有數(shù)據(jù)的副本瓮下,然后將其存放在指定的磁盤文件中。用戶可以針對(duì)該快照進(jìn)行各種操作钝域,比如:將快照文件復(fù)制到其他服務(wù)器從而完成Redis的主從復(fù)制讽坏,或者將快照留在原地,服務(wù)器重啟的時(shí)候重用數(shù)據(jù)例证。

? ? rdb配置

# 配置rdb文件名

dbfilename dump.rdb

# 配置rdb文件目錄

dir ./

# 策略配置

# 在規(guī)定的時(shí)間內(nèi)路呜,Redis發(fā)生寫操作的個(gè)數(shù)滿足條件,會(huì)觸發(fā)持久化命令织咧。

# 當(dāng)用戶設(shè)置了多個(gè)save的選項(xiàng)配置胀葱,只要其中任一條滿足,Redis都會(huì)觸發(fā)一次持久化操作笙蒙,比如:900秒之內(nèi)至少一次寫操作抵屿,或者300秒之內(nèi)至少發(fā)生10次寫操作,或者60秒之內(nèi)至少發(fā)生10000次寫操作都會(huì)觸發(fā)快照命令捅位。

save 900 1

save 300 10

save 60 10000

? ? AOF方式

? ? Redis的AOF持久化策略是將發(fā)送到Redis服務(wù)器端的每一條命令都記錄下來轧葛,并且保存到硬盤的AOF文件中,類似于打開日志文件艇搀,來一條命令就記錄一條尿扯。

? ? aof配置

# 是否開啟AOF模式,默認(rèn)為no焰雕,yes表示開啟

appendonly no

# 配置aof文件名

appendfilename "appendonly.aof"

# 配置aof文件目錄

dir ./

# AOF同步頻率,默認(rèn)為 everysec

# always 表示每次有數(shù)據(jù)發(fā)生修改時(shí)都會(huì)寫入AOF文件衷笋,這種方式會(huì)嚴(yán)重降低redis的性能。

# everysec 表示表示每秒鐘同步一次矩屁,該策略為AOF的缺省策略右莱。

# no 表示讓操作系統(tǒng)來決定應(yīng)該何時(shí)進(jìn)行同步,Linux系統(tǒng)往往可能30秒才會(huì)執(zhí)行一次

appendfsync everysec

# yes表示新寫操作不進(jìn)行同步档插,只是暫存在緩沖區(qū)里,避免造成磁盤IO操作沖突亚再,等重寫完成后再寫入郭膛,默認(rèn)為no?

no-appendfsync-on-rewrite no

# Redis恢復(fù)時(shí),是否忽略最后一條可能存在問題的指令(因?yàn)樽詈笠粭l指令可能存在問題氛悬,比如寫一半時(shí)突然斷電了)则剃,默認(rèn)為yes

aof-load-truncated yes

? ? 注意:如果RDB與AOF同時(shí)開啟,Redis 默認(rèn)會(huì)先加載AOF的配置文件如捅。

主從復(fù)制

? ? 在Redis中實(shí)現(xiàn)主從復(fù)制比較簡單棍现,只需要修改slave服務(wù)器配置文件中的slave相關(guān)參數(shù)即可。

# 設(shè)置master主服務(wù)器IP和端口

slaveof 127.0.0.1 10002

# slave是否只讀镜遣,從服務(wù)器負(fù)責(zé)讀操作己肮,主服務(wù)器負(fù)責(zé)寫操作,從而實(shí)現(xiàn)讀寫分離

slave-read-only yes

? ? 主從同步原理

? ? 1. Slave服務(wù)啟動(dòng),主動(dòng)連接Master谎僻,并發(fā)送SYNC命令娄柳,請(qǐng)求初始化同步

? ? 2. Master收到SYNC后,執(zhí)行BGSAVE命令生成RDB文件艘绍,并緩存該時(shí)間段內(nèi)的寫命令

? ? 3. Master完成RDB文件后赤拒,將其發(fā)送給所有Slave服務(wù)器,

? ? 4. Slave服務(wù)器接收到RDB文件后诱鞠,刪除內(nèi)存中舊的緩存數(shù)據(jù)挎挖,并裝載RDB文件

? ? 5. Master在發(fā)送完RDB后,即刻向所有Slave服務(wù)器發(fā)送緩存中的寫命令

? ? 6. 至此初始化完成航夺,后續(xù)進(jìn)行增量同步

啟動(dòng)Redis

? ? 此處有兩種啟動(dòng)方式蕉朵,通過命令行和通過系統(tǒng)服務(wù)的方式。

? ? 1.?命令行方式啟動(dòng):

? ? 切換到redis的根目錄敷存,比如根目錄為 D:\myplatform\Redis墓造,然后執(zhí)行命令 redis-server redis.windows.conf 即可啟動(dòng)redis服務(wù),如圖:

? ? 注意:此窗口請(qǐng)勿關(guān)閉锚烦,否則redis服務(wù)就會(huì)停止了觅闽。

? ? 2. 系統(tǒng)服務(wù)方式啟動(dòng):

? ? cmd窗口下,切換到redis根目錄涮俄,執(zhí)行如下命令:

? ? redis-server --service-install redis.windows-service.conf --loglevel verbose --service-name "Redis Service 4.0" --port 10001

? ?安裝成功后蛉拙,即可通過windows服務(wù)界面的方式啟動(dòng)redis了。

客戶端測試

? ? 新開一個(gè)cmd窗口彻亲,切換到redis根目錄孕锄,執(zhí)行命令 redis-cli,如果能看到redis的服務(wù)器地址和端口苞尝,就說明客戶端已成功連接畸肆。根據(jù)redis啟動(dòng)方式的不同,選擇相應(yīng)的命令宙址。

? ? 命令行方式:redis-cli

? ? 系統(tǒng)服務(wù)方式:redis-cli -h 127.0.0.1 -p 10001

安裝php-redis擴(kuò)展

? ? 將php_redis-4.0.2-7.2-ts-vc15-x64.zip壓縮包中的php_redis.dll文件轴脐,以及php_igbinary-2.0.7-7.2-ts-vc15-x64.zip壓縮包中的php_igbinary.dll文件,拷貝到php安裝目錄的ext目錄下抡砂,如圖:

? ? 然后大咱,修改php.ini配置文件,在里面加入如下擴(kuò)展:

? ??extension=php_igbinary.dll

? ??extension=php_redis.dll

? ? 注意:php_igbinary擴(kuò)展要放在php_redis擴(kuò)展的前面注益。

? ? 最后碴巾,重啟apache服務(wù)。

Redis相關(guān)完整軟件包

下載地址:Redis相關(guān)軟件包

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末丑搔,一起剝皮案震驚了整個(gè)濱河市厦瓢,隨后出現(xiàn)的幾起案子提揍,更是在濱河造成了極大的恐慌,老刑警劉巖旷痕,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碳锈,死亡現(xiàn)場離奇詭異,居然都是意外死亡欺抗,警方通過查閱死者的電腦和手機(jī)售碳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绞呈,“玉大人贸人,你說我怎么就攤上這事〉枭” “怎么了艺智?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長圾亏。 經(jīng)常有香客問我十拣,道長,這世上最難降的妖魔是什么志鹃? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任夭问,我火速辦了婚禮,結(jié)果婚禮上曹铃,老公的妹妹穿的比我還像新娘缰趋。我一直安慰自己,他們只是感情好陕见,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布秘血。 她就那樣靜靜地躺著,像睡著了一般评甜。 火紅的嫁衣襯著肌膚如雪灰粮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天忍坷,我揣著相機(jī)與錄音谋竖,去河邊找鬼。 笑死承匣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的锤悄。 我是一名探鬼主播韧骗,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼零聚!你這毒婦竟也來了袍暴?” 一聲冷哼從身側(cè)響起些侍,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎政模,沒想到半個(gè)月后岗宣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡淋样,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年耗式,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片趁猴。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡刊咳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出儡司,到底是詐尸還是另有隱情娱挨,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布捕犬,位于F島的核電站跷坝,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏碉碉。R本人自食惡果不足惜柴钻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望誉裆。 院中可真熱鬧顿颅,春花似錦、人聲如沸足丢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽斩跌。三九已至绍些,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間耀鸦,已是汗流浹背柬批。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留袖订,地道東北人氮帐。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像洛姑,于是被迫代替她去往敵國和親上沐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容