日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php使用redis持久化,redis如何持久化

發(fā)布時(shí)間:2024/4/14 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php使用redis持久化,redis如何持久化 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

由于Redis的數(shù)據(jù)都存放在內(nèi)存中,如果沒有配置持久化,redis重啟后數(shù)據(jù)就全丟失了,于是需要開啟redis的持久化功能,將數(shù)據(jù)保存到磁 盤上,當(dāng)redis重啟后,可以從磁盤中恢復(fù)數(shù)據(jù)。

redis提供兩種方式進(jìn)行持久化,一種是RDB持久化(原理是將Reids在內(nèi)存中的數(shù)據(jù)庫記錄定時(shí) dump到磁盤上的RDB持久化),另外一種是AOF(append only file)持久化(原理是將Reids的操作日志以追加的方式寫入文件)。

RDB:RDB持久化是把當(dāng)前進(jìn)程數(shù)據(jù)生成快照保存到硬盤的過程,觸發(fā)RDB持久化過程分為手動(dòng)觸發(fā)和自動(dòng)觸發(fā)。 (推薦學(xué)習(xí):Redis視頻教程)

觸發(fā)機(jī)制

手動(dòng)觸發(fā)分別對(duì)應(yīng)save和bgsave命令

save命令:阻塞當(dāng)前Redis服務(wù)器,知道RDB過程完成為止,對(duì)于內(nèi)存比較大的實(shí)例會(huì)造成長(zhǎng)時(shí)間阻塞,線上不建議使用。DB saved on disk

bgseve命令:Redis進(jìn)程執(zhí)行fork操作創(chuàng)建子進(jìn)程,RDB持久化過程有子進(jìn)程負(fù)責(zé),完成后自動(dòng)結(jié)束。阻塞只發(fā)生在fork階段,一般時(shí)間很短。* Background saving started by pid 3151

* DB saved on disk

* RDB: 0 MB of memory used by copy-on-write

* Background saving terminated with success

自動(dòng)觸發(fā)

以下場(chǎng)景下會(huì)觸發(fā)

1)使用save相關(guān)配置,如“save m n”。表示m秒內(nèi)數(shù)據(jù)集存在n次修改時(shí),自動(dòng)觸發(fā)bgsave。

2)如果從節(jié)點(diǎn)執(zhí)行全量復(fù)制操作,主節(jié)點(diǎn)自動(dòng)執(zhí)行bgsave生成RDB文件并發(fā)送給從節(jié)點(diǎn)。

3)執(zhí)行debug reload命令重新加載Redis時(shí),也會(huì)自動(dòng)觸發(fā)save操作。

4)默認(rèn)情況下執(zhí)行shutdown命令時(shí),如果沒有開啟AOF持久化功能則自動(dòng)執(zhí)行bgsave。

AOF:以獨(dú)立日志的方式記錄每次寫命令,重啟時(shí)在重新執(zhí)行AOF文件中的命令達(dá)到恢復(fù)數(shù)據(jù)的目的。主要作用:解決了數(shù)據(jù)持久化的實(shí)時(shí)性。

使用AOF

開啟AOF功能需要設(shè)置配置:appendonly yes,默認(rèn)不開啟。文件名通過appendfilename配置設(shè)置,默認(rèn)appendonly.aof。

1)所有的寫入命令會(huì)追加到aof_buf(緩沖區(qū))中。

2)AOF緩沖區(qū)根據(jù)對(duì)應(yīng)的策略向硬盤做同步操作。

3)隨著AOF文件越來越大,需要定期對(duì)AOF文件進(jìn)行重寫,達(dá)到壓縮的目的。

4)當(dāng)Redis服務(wù)器重啟時(shí),可以加載AOF文件進(jìn)行數(shù)據(jù)恢復(fù)。

更多Redis相關(guān)技術(shù)文章,請(qǐng)?jiān)L問Redis入門教程欄目進(jìn)行學(xué)習(xí)!

總結(jié)

以上是生活随笔為你收集整理的php使用redis持久化,redis如何持久化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。