一、進(jìn)程 進(jìn)程(Process)是計(jì)算機(jī)中的程序關(guān)于某數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)。在早期面向進(jìn)程設(shè)計(jì)的計(jì)算機(jī)結(jié)構(gòu)中,進(jìn)...
一、進(jìn)程 進(jìn)程(Process)是計(jì)算機(jī)中的程序關(guān)于某數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)。在早期面向進(jìn)程設(shè)計(jì)的計(jì)算機(jī)結(jié)構(gòu)中,進(jìn)...
nginx的upstream目前支持的5種方式的分配 1、輪詢(默認(rèn))每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動(dòng)剔除。upstream b...
IO模型 五種IO模型包括:阻塞IO、非阻塞IO、信號(hào)驅(qū)動(dòng)IO、IO多路轉(zhuǎn)接、異步IO。其中,前四個(gè)被稱為同步IO。 阻塞IO(blocking I/O BIO) A拿著一支...
TCP TCP和UDP區(qū)別 連接性: tcp:面向連接 udp: 無(wú)連接 可靠性: tcp:可靠(無(wú)差錯(cuò)、不丟失、不重復(fù)、且按照順序到達(dá)) udp:不可靠(盡最大努力交付) ...
Kafka特性 順序讀寫(xiě)的方式訪問(wèn)磁盤(pán),從而避免隨機(jī)讀寫(xiě)磁盤(pán)導(dǎo)致的性能瓶頸2.支持批量讀寫(xiě)消息,并且會(huì)對(duì)消息進(jìn)行批量壓縮3.支持分區(qū),每個(gè)分區(qū)的消息保證順序傳輸,而分區(qū)之間可...
sentinel是redis的高可用性解決方案:由一個(gè)或多個(gè)sentinel實(shí)例組成sentinel系統(tǒng)監(jiān)視多個(gè)master以及master的slave,并在被監(jiān)視的mast...
主動(dòng)數(shù)據(jù)庫(kù)配置用來(lái)降低單個(gè)redis的壓力(主要是master)。通常的方案是master用做數(shù)據(jù)寫(xiě)入,slave用做數(shù)據(jù)讀取。主從復(fù)制,服務(wù)器雙方數(shù)據(jù)庫(kù)將保存相同的數(shù)據(jù),這...
知識(shí)點(diǎn) 時(shí)間事件分為定時(shí)事件與周期事件; 時(shí)間事件與文件事件是合作關(guān)系,不會(huì)出現(xiàn)搶占的情況; 時(shí)間事件要比預(yù)設(shè)的更晚一些。 Redis的時(shí)間事件分為以下兩類1.定時(shí)事件:讓一...
文件事件 事件類型在文件事件中分為兩大類,可讀事件(AE_READABLE)與可寫(xiě)(AE_WRITABLE)事件,可讀事件由套接字寫(xiě)入時(shí)產(chǎn)生,而可寫(xiě)事件則由套接字讀取時(shí)產(chǎn)生,...
IO多路復(fù)用 Redis客戶端對(duì)服務(wù)端的每次調(diào)用都經(jīng)歷了發(fā)送命令,執(zhí)行命令,返回結(jié)果三個(gè)過(guò)程。其中執(zhí)行命令階段,由于Redis是單線程來(lái)處理命令的,所有每一條到達(dá)服務(wù)端的命令...
知識(shí)點(diǎn) AOF文件通過(guò)保存所有修改數(shù)據(jù)庫(kù)的寫(xiě)命令請(qǐng)求來(lái)記錄服務(wù)器的數(shù)據(jù)庫(kù)狀態(tài) AOF文件中的所有命令都以Redis命令請(qǐng)求協(xié)議的格式保存 命令請(qǐng)求會(huì)先保存到AOF緩沖區(qū)里面,...
知識(shí)點(diǎn) RDB文件用于保存和還原Redis服務(wù)器所有數(shù)據(jù)庫(kù)中的所有鍵值對(duì)數(shù)據(jù) SAVE命令由服務(wù)器服務(wù)器進(jìn)程直接執(zhí)行保存操作,所以該命令會(huì)阻塞服務(wù)器 BGSAVE命令由子進(jìn)程...
知識(shí)點(diǎn) Redis的所有數(shù)據(jù)庫(kù)都保存在redisServer.db數(shù)組中,而數(shù)據(jù)庫(kù)的數(shù)量則由redisServer.dbnum屬性保存 客戶端通過(guò)修改目標(biāo)數(shù)據(jù)庫(kù)指針,讓它指向...
可以把redis請(qǐng)求處理的過(guò)程分成3個(gè)步驟:1.讀取請(qǐng)求buffer2.解析請(qǐng)求3.處理請(qǐng)求 總體流程圖如下: 監(jiān)聽(tīng)socket的讀事件就是有客戶端連接請(qǐng)求過(guò)來(lái),對(duì)應(yīng)的事件處...
Redis啟動(dòng)總體上可以分為如下幾步: 1.初始化全局服務(wù)器配置 加載配置文件(如果指定了配置文件,否則使用默認(rèn)配置) 初始化服務(wù)器 加載數(shù)據(jù)庫(kù) 網(wǎng)絡(luò)監(jiān)聽(tīng) redis整個(gè)程序...
quicklist結(jié)構(gòu)是在redis 3.2版本中新加的數(shù)據(jù)結(jié)構(gòu),用在列表的底層實(shí)現(xiàn)??紤]到鏈表的附加空間相對(duì)太高,prev 和 next 指針就要占去 16 個(gè)字節(jié) (64...
知識(shí)點(diǎn) redis數(shù)據(jù)庫(kù)中的每一個(gè)鍵值對(duì)的鍵和值都是一個(gè)對(duì)象 redis共有字符串、列表、哈希、集合、有序集合五種類型的對(duì)象,每種類型的對(duì)象至少都有兩種或以上的編碼方式,不同...
知識(shí)點(diǎn) 壓縮列表是一種為節(jié)約內(nèi)存而開(kāi)發(fā)的順序型數(shù)據(jù)結(jié)構(gòu) 壓縮列表被用作列表鍵和哈希鍵的底層實(shí)現(xiàn)之一,當(dāng)一個(gè)列表鍵只包含少量列表項(xiàng),并且每個(gè)列表項(xiàng)要么就是小整數(shù)值,要么就是長(zhǎng)度...