首頁 資料庫 mysql教程 mysql Cache和Buffer差別有哪些?

mysql Cache和Buffer差別有哪些?

Jun 29, 2020 am 10:39 AM
buffer cache

mysql Cache和Buffer區別有:1、buffer是給塊設備做緩衝,只記錄檔案系統的metadata,而cached用來給文件做緩衝;2、buffer是用來儲存目錄裡面有什麼內容,權限等,而cached用來記憶開啟的檔案。

mysql Cache和Buffer差別有哪些?

mysql Cache和Buffer差異有:

Buffer的核心作用是用來緩衝,緩和衝擊。例如你每秒鐘要寫100次硬碟,對系統衝擊很大,浪費了大量時間在忙著處理開始寫和結束寫這兩件事嘛。用個buffer暫存起來,變成每10秒寫一次硬碟,對系統的衝擊就很小,寫入效率高了,日子過得爽了。極大緩和了衝擊。

Cache的核心作用是加上緩存用的速度。例如你一個很複雜的計算做完了,下次還要用結果,就把結果放手邊一個好拿的地方存著,下次不用再算了。加快了資料取用的速度。

所以,如果你注意到關心過儲存系統的話,你會發現硬碟的讀寫緩衝/快取名稱是不一樣的,叫做write-bufferread-cache 。很明顯地說出了兩者的差異。

當然很多時候宏觀說兩者可能是混用的。例如其實memcached很多人就是拿來讀寫都用的。不少時候Non-SQL資料庫也是。嚴格來說,CPU裡的L2和L3 Cache也都是讀寫兼用──因為你沒辦法簡單定義CPU用它們的方法是讀還是寫。硬碟裡也是典型例子,buffer和cache都在一塊空間上,到底是buffer還是cache?

不過仔細想一下,你說拿cache做buffer用行不行?當然行,只要能控制cache淘汰邏輯就沒有任何問題。

那麼拿buffer來做cache呢?貌似在很特殊的情況下,能確定訪問順序的時候,也是可以的。簡單想一下就明白-buffer根據定義,需要隨機儲存嗎?一般是不需要的。但cache一定要。所以大多時候用cache代替buffer可以,反之就比較限制。這也是技術上說cache和buffer的關鍵差異。

補充1:

不要誤解Buffer就是用來寫的,Cache就是用來讀的。讀可以用Buffer嗎?當然可以,例如你想一批一批地處理讀取而非有啥處理啥的時候,就可以用讀buffer。寫當然也可以用cache,例如你的寫入有很高的隨機性的時候。具體什麼場景用Buffer什麼場景用Cache要依照場景的具體需求決定。

補充2:

不要誤解Cache或Buffer就一定是記憶體或存在什麼高速媒介上的東西。只要相對高速即可。我完全可以在硬碟上存Cache,例如有些遊戲會在運行時建立預編譯的shader(暴露年齡),這本質上就是一種cache,它存在速度緩慢的硬碟上,因為讀硬碟依舊比重新編譯要快。 Buffer也有同理,例如NTFS檔案系統本身就有Logging Buffer,這個甚至明確拒絕放在任何易失快取裡。

相關學習推薦:mysql影片教學

以上是mysql Cache和Buffer差別有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

入職後,我才明白什麼叫Cache 入職後,我才明白什麼叫Cache Jul 31, 2023 pm 04:03 PM

事情其實是這樣的,當時領導者交給我一個perf硬體效能監視的任務,在使用perf的過程中,輸入指令perf list,我看到了以下資訊:我的任務就要讓這些cache事件能夠正常計數,但重點是,我根本不知道這些misses、loads是什麼意思。

使用cache可以提高計算機運行速度這是因為什麼 使用cache可以提高計算機運行速度這是因為什麼 Dec 09, 2020 am 11:28 AM

使用cache可以提高電腦運行速度這是因為Cache縮短了CPU的等待時間。 Cache是​​位於CPU和主記憶體DRAM之間,規模較小,但速度很高的記憶體。 Cache的功能是提高CPU資料輸入輸出的速率;Cache容量小但速度快,記憶體速度較低但容量大,透過最佳化調度演算法,系統的效能會大幅提升。

cache是​​什麼記憶體? cache是​​什麼記憶體? Nov 25, 2022 am 11:48 AM

cache叫做高速緩衝記憶體,是介於中央處理器與主記憶體之間的高速小容量記憶體,一般由高速SRAM構成;這種局部記憶體是面向CPU的,引進它是為減少或消除CPU與記憶體之間的速度差異對系統性能帶來的影響。 Cache容量小但速度快,記憶體速度較低但容量大,透過最佳化調度演算法,系統的效能會大幅提升。

nginx反向代理快取教學。 nginx反向代理快取教學。 Feb 18, 2024 pm 04:48 PM

以下是nginx反向代理快取的教學:安裝nginx:sudoaptupdatesudoaptinstallnginx設定反向代理:開啟nginx設定檔:sudonano/etc/nginx/nginx.conf在http區塊中加入以下設定來啟用快取:http{...proxy_cache_path /var/cache/nginxlevels=1:2keys_zone=my_cache:10mmax_size=10ginactive=60muse_temp_path=off;proxy_cache

SpringBoot專案中怎麼使用快取Cache SpringBoot專案中怎麼使用快取Cache May 16, 2023 pm 02:34 PM

前言快取可以透過將經常存取的資料儲存在記憶體中,減少底層資料來源如資料庫的壓力,從而有效提高系統的效能和穩定性。我想大家的專案中或多或少都有使用過,我們專案也不例外,但是最近在review公司的程式碼的時候寫的很蠢且low,大致寫法如下:publicUsergetById(Stringid){Useruser=cache. getUser();if(user!=null){returnuser;}//從資料庫取得user=loadFromDB(id);cahce.put(id,user);returnu

Nginx快取Cache的設定方案及相關記憶體佔用問題怎麼解決 Nginx快取Cache的設定方案及相關記憶體佔用問題怎麼解決 May 23, 2023 pm 02:01 PM

nginx快取cache的5種方案 1、傳統快取之一(404)  這個辦法是把nginx的404錯誤導向到後端,然後用proxy_store把後端回傳的頁面儲存。設定:  location/{  root/home/html/;#主目錄expires1d;#網頁的過期時間error_page404=200/fetch$request_uri;#404定向到/fetch目錄下}  location/fetch/{#404定向到/fetch目錄下}  location/fetch/{#4044042cation} ;#指明這個目錄不能在外部直接訪

cache、rom、ram的特徵是什麼 cache、rom、ram的特徵是什麼 Aug 26, 2022 pm 04:05 PM

cache的特性:在CPU與主記憶體之間設定的一級或兩級高速小容量記憶體,其資訊是隨著電腦的斷電自然遺失。 ROM的特性:只能從記憶體讀取數據,而不能往裡面寫訊息,電腦斷電後數據仍然存在。 ram的特點:既可以從記憶體讀取數據,也可以到記憶體中寫入資訊;用於存放運行程式所需的命令、程式和資料等;電腦斷電後資訊自然遺失。

基於Spring Cache如何實現Caffeine+Redis二級緩存 基於Spring Cache如何實現Caffeine+Redis二級緩存 Jun 01, 2023 am 10:13 AM

具體如下:一、聊聊什麼是硬程式編碼使用快取?在學習SpringCache之前,筆者常會硬編碼的方式使用快取。我們來舉個實際中的例子,為了提升使用者資訊的查詢效率,我們對使用者資訊使用了緩存,範例程式碼如下:@AutowireprivateUserMapperuserMapper;@AutowireprivateRedisCacheredisCache;//查詢使用者publicUsergetUserById(LonguserId){//定義快取keyStringcache= "userId_

See all articles