最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

5分鐘詳解什么是Redis?

定義

Redis 是一種快速、開源、內(nèi)存中的鍵值數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)。

REDIS 允許您在 RAM 上存儲(chǔ)鍵值對(duì),由于訪問 RAM 比訪問磁盤快 150,000 倍,比訪問 SSD 快 500 倍,這意味著速度。

但是,我們已經(jīng)在大部分操作中使用 RAM!

但是當(dāng)涉及緩存或數(shù)據(jù)庫交互時(shí),我們默認(rèn)使用磁盤,想象一下訪問數(shù)據(jù)庫以讀取 10,000 條記錄,如果數(shù)據(jù)存儲(chǔ)在磁盤上,平均需要 30 秒,而從 RAM 讀取大約需要 0.0002 秒。

這意味著它是一個(gè)超快的讀/寫系統(tǒng),但由于它存儲(chǔ)在 RAM 中,因此它是易失性的。

那么,我們會(huì)丟失數(shù)據(jù)嗎?

為了防止發(fā)生數(shù)據(jù)丟失,有一個(gè)內(nèi)置的持久性模塊,它會(huì)在給定的情況下將內(nèi)存狀態(tài)寫入磁盤上的轉(zhuǎn)儲(chǔ)文件,轉(zhuǎn)儲(chǔ)文件在系統(tǒng)啟動(dòng)時(shí)加載,一旦啟動(dòng)并運(yùn)行,數(shù)據(jù)就可用于操作,所以,沒有數(shù)據(jù)丟失。

我們可以在多個(gè)實(shí)例中使用不同的配置,以允許我們通過所謂的哨兵和主從架構(gòu)保持持續(xù)的正常運(yùn)行時(shí)間。

Redis 是Remote Dictionary Server的首字母縮寫詞。

換句話說,它是一種工具,可讓您在 RAM 上存儲(chǔ)數(shù)據(jù)庫。

何時(shí)何地使用 Redis?

由于 Redis 速度快如閃電,因此主要用于緩存目的,它是 Redis 最閃耀的地方,因?yàn)樗峁┝丝梢酝ㄟ^字典結(jié)構(gòu)存儲(chǔ)的各種類型。

我們可以使用 Redis 緩存具有高流量和靜態(tài)內(nèi)容的完整頁面,如果頁面本身容易發(fā)生變化或者內(nèi)容是動(dòng)態(tài)生成的,那么無論如何都不應(yīng)該緩存它,無論我們使用的是 Redis 還是 Memcached。如果頁面主要包含靜態(tài)內(nèi)容或者每 x 時(shí)間刷新一次內(nèi)容,那么我們可以緩存該頁面并立即提供它!

在何處使用 Redis 的第一要?jiǎng)?wù)是整頁緩存(FPC)。

它可以用來做的另一件事是存儲(chǔ)會(huì)話,與沒有任何持久性的 Memcached 不同,Redis 有它并且允許會(huì)話存儲(chǔ),使用 Redis 處理會(huì)話可在與站點(diǎn)交互時(shí)提升用戶體驗(yàn)。

持久性對(duì)于存儲(chǔ)會(huì)話很重要,以避免在用戶交互的關(guān)鍵部分丟失數(shù)據(jù),例如,處理付款、將商品添加到購物車或作為經(jīng)過身份驗(yàn)證的用戶請(qǐng)求任何操作。

第二個(gè)是會(huì)話緩存。

Redis 作為一個(gè)進(jìn)程運(yùn)行,與 MySQL、PHP、Apache 和所有其他服務(wù)的運(yùn)行方式相同,它使用大量 RAM 內(nèi)存,如果服務(wù)器需要更多空間來進(jìn)行繁重的提升,那么它可能會(huì)選擇殺死 Redis 的進(jìn)程,在這種情況下,我們會(huì)遇到服務(wù)停機(jī)并可能丟失數(shù)據(jù),為了防止這種情況發(fā)生,Redis 內(nèi)置了 Master-Slave 架構(gòu)。

這種架構(gòu)允許我們有額外的進(jìn)程來監(jiān)控我們的主要進(jìn)程,從進(jìn)程模仿它的命令,偶爾會(huì)復(fù)制主轉(zhuǎn)儲(chǔ)文件,以保持進(jìn)程之間的一致性。這些監(jiān)控進(jìn)程被稱為 Slaves,而主要的是 Master。

當(dāng)主進(jìn)程被殺死時(shí),其中一個(gè)從屬進(jìn)程成為主進(jìn)程并在主進(jìn)程重新啟動(dòng)時(shí)處理所有請(qǐng)求,一旦 Master 再次啟動(dòng),它會(huì)從 Temporary Master 獲取轉(zhuǎn)儲(chǔ)文件并將其用作基礎(chǔ),主進(jìn)程重新實(shí)例化為主進(jìn)程,而臨時(shí)主進(jìn)程再次變回從進(jìn)程。

但是我們?cè)趺粗乐鬟M(jìn)程什么時(shí)候宕機(jī)了呢?我們?cè)趺粗滥膫€(gè) Slave 應(yīng)該成為 master?

Sentinel 是具有檢查 Redis 實(shí)例是否正常工作的特定職責(zé)的進(jìn)程,他們負(fù)責(zé):

  • 檢測(cè)Master是否宕機(jī);

  • 選擇誰是臨時(shí)主人;

  • 監(jiān)控 Master 何時(shí)返回并告訴它要加載哪個(gè)轉(zhuǎn)儲(chǔ)文件。

哨兵,我猜這個(gè)名字說明了一切。

一般設(shè)置通常使用一個(gè) Master、兩個(gè) Slave 和三個(gè) Sentinel。

Redis 有一個(gè)很好的社區(qū)和寫得很好的文檔,如果你想嘗試一下,你會(huì)在他們的官方網(wǎng)站上找到很多支持。

Redis官網(wǎng):

https://redis.io/


5分鐘詳解什么是Redis?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
山东省| 昆明市| 岑溪市| 聂荣县| 山西省| 肥乡县| 昌乐县| 岳阳市| 甘肃省| 辉县市| 固原市| 唐河县| 资阳市| 克拉玛依市| 龙州县| 平顺县| 苍南县| 蒙阴县| 建始县| 周口市| 东山县| 徐州市| 石首市| 平顶山市| 沈丘县| 慈利县| 怀仁县| 乌拉特后旗| 师宗县| 崇仁县| 海伦市| 宜川县| 登封市| 怀宁县| 长治市| 新河县| 呼和浩特市| 阜宁县| 临武县| 兰西县| 怀集县|