日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 有了innodb buffer pool為什么要有redis?

有了innodb buffer pool為什么要有redis?

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-13 05:15:44 1697145344

一、有了innodb buffer pool還要有redis的原因

1、redis數(shù)據(jù)結(jié)構(gòu)更豐富

Redis支持多種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(如哈希、鏈表等),并且它支持復(fù)雜的操作和查詢,比如可以對(duì)哈希對(duì)象進(jìn)行增刪改查操作,而InnoDB buffer pool只能緩存表數(shù)據(jù)和索引,不支持多種不同的數(shù)據(jù)結(jié)構(gòu)和操作。

2、redis支持更多的數(shù)據(jù)類型

除了表數(shù)據(jù)之外,InnoDB buffer pool無(wú)法緩存許多其他類型的數(shù)據(jù),而Redis可以緩存多種類型的數(shù)據(jù),比如完整的數(shù)據(jù)結(jié)構(gòu),甚至包括文件和任何二進(jìn)制數(shù)據(jù)。

3、redis有更高的性能

因?yàn)镽edis是一個(gè)容納在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)服務(wù)器,所以它比InnoDB buffer pool更快。Redis能夠執(zhí)行復(fù)雜的操作,并且在處理大型數(shù)據(jù)集時(shí)表現(xiàn)得更加出色。

4、redis有更大的內(nèi)存容量

Redis需要的內(nèi)存大小遠(yuǎn)高于InnoDB buffer pool,但它的內(nèi)存控制更靈活而且容量也更大。如果要緩存的數(shù)據(jù)量很大,Redis需要的內(nèi)存超過(guò)物理內(nèi)存的話,還可以采用分布式架構(gòu)的方式來(lái)進(jìn)行橫向擴(kuò)展。

二、innodb buffer pool介紹

1、簡(jiǎn)介

innodb buffer pool是MySQL的內(nèi)存緩存技術(shù)之一,用于緩存熱數(shù)據(jù);它可以幫助減少磁盤I/O并提高查詢性能。InnoDB buffer pool不僅緩存了表數(shù)據(jù),還緩存了索引、鎖、MVCC和插入緩沖等數(shù)據(jù);它主要適用于事務(wù)性較高的場(chǎng)景,如交易系統(tǒng)、OLTP等。

2、緩沖池Buffer Pool的作用

InnoDB 存儲(chǔ)引擎是基于磁盤存儲(chǔ)的。以頁(yè)為單位存儲(chǔ)數(shù)據(jù)。我們進(jìn)行的增刪改查操作本質(zhì)上都是在操作數(shù)據(jù)頁(yè)(包括讀頁(yè)、寫頁(yè)、創(chuàng)建新頁(yè))。由于CPU速度和磁盤速度之間的鴻溝,基于磁盤的數(shù)據(jù)庫(kù)通常使用緩沖池來(lái)提高數(shù)據(jù)庫(kù)的整體性能。Buffer Pool 就是把磁盤上的頁(yè),緩存到內(nèi)存中,用于降低與磁盤直接進(jìn)行IO的成本。

InnoDB 引擎在處理客戶端請(qǐng)求時(shí),當(dāng)需要訪問(wèn)某個(gè)頁(yè)的數(shù)據(jù)時(shí),就會(huì)把完整的頁(yè)的數(shù)據(jù)全部加載到內(nèi)存中。之后就可以對(duì)頁(yè)進(jìn)行讀寫訪問(wèn)了。操作完頁(yè)之后并不會(huì)立即釋放掉其內(nèi)存空間,而是將其緩存起來(lái),將來(lái)有請(qǐng)求再次訪問(wèn)該頁(yè)數(shù)據(jù)時(shí),就可以省去磁盤IO的開銷了。

3、Buffer Pool緩存什么

MySQL啟動(dòng)時(shí), InnoDB 引擎向操作系統(tǒng)申請(qǐng)一塊連續(xù)的內(nèi)存空間,然后按照頁(yè)的大?。J(rèn)16KB)劃分出一個(gè)個(gè)空頁(yè),當(dāng)磁盤上的頁(yè)緩存到內(nèi)存的 Buffer Pool 中會(huì)對(duì)空頁(yè)進(jìn)行填充。

緩沖池中的數(shù)據(jù)頁(yè)類型有:數(shù)據(jù)頁(yè)、索引頁(yè)、插入緩沖(insert buffer)、自適應(yīng)哈希索引、鎖信息、數(shù)據(jù)字典信息等。數(shù)據(jù)頁(yè)和索引頁(yè)是緩沖池中的主要內(nèi)容。

4、查看設(shè)置緩沖池大小

InnoDB 引擎通過(guò)?innodb_buffer_pool_size?變量查看緩沖池的大小。一般建議設(shè)置成可用物理內(nèi)存的60%~80%。下面是代碼示例:

mysql > show variables like 'innodb_buffer_pool_size'

通過(guò)?set global innodb_buffer_pool_size?可以修改緩沖池大小。

三、redis介紹

1、定義

redis是一個(gè)key-value存儲(chǔ)系統(tǒng)。和Memcached類似,它支持存儲(chǔ)的value類型相對(duì)更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set –有序集合)和hash(哈希類型)。這些數(shù)據(jù)類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎(chǔ)上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會(huì)周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。

Redis 是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)。 redis的出現(xiàn),很大程度補(bǔ)償了memcached這類key/value存儲(chǔ)的不足,在部分場(chǎng)合可以對(duì)關(guān)系數(shù)據(jù)庫(kù)起到很好的補(bǔ)充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便。

Redis支持主從同步。數(shù)據(jù)可以從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步,從服務(wù)器可以是關(guān)聯(lián)其他從服務(wù)器的主服務(wù)器。這使得Redis可執(zhí)行單層樹復(fù)制。存盤可以有意無(wú)意的對(duì)數(shù)據(jù)進(jìn)行寫操作。由于完全實(shí)現(xiàn)了發(fā)布/訂閱機(jī)制,使得從數(shù)據(jù)庫(kù)在任何地方同步樹時(shí),可訂閱一個(gè)頻道并接收主服務(wù)器完整的消息發(fā)布記錄。同步對(duì)讀取操作的可擴(kuò)展性和數(shù)據(jù)冗余很有幫助。

redis的官網(wǎng)地址,非常好記,是redis.io。(域名后綴io屬于國(guó)家域名,是british Indian Ocean territory,即英屬印度洋領(lǐng)地),Vmware在資助著redis項(xiàng)目的開發(fā)和維護(hù)。從2010年3月15日起,Redis的開發(fā)工作由VMware主持。從2013年5月開始,Redis的開發(fā)由Pivotal贊助。

2、作者

redis的作者,叫Salvatore Sanfilippo,來(lái)自意大利的西西里島,居住在卡塔尼亞。目前供職于Pivotal公司。他使用的網(wǎng)名是antirez。

3、常用命令

就DB來(lái)說(shuō),Redis成績(jī)已經(jīng)很驚人了,且不說(shuō)memcachedb和Tokyo Cabinet之流,就說(shuō)原版的memcached,速度似乎也只能達(dá)到這個(gè)級(jí)別。Redis根本是使用內(nèi)存存儲(chǔ),持久化的關(guān)鍵是這三條指令:SAVE BGSAVE LASTSAVE …… 當(dāng)接收到SAVE指令的時(shí)候,Redis就會(huì)dump數(shù)據(jù)到一個(gè)文件里面。值得一說(shuō)的是它的少數(shù)功能:存儲(chǔ)列表和集合,這是它與mc之流相比更有競(jìng)爭(zhēng)力的地方。不介紹mc里面已經(jīng)有的內(nèi)容,只列出特殊的:

TYPE key:用來(lái)獲取某key的類型KEYS pattern:匹配所有符合模式的key,比如KEYS * 就列出所有的key了,當(dāng)然,復(fù)雜度O(n)RANDOMKEY:返回隨機(jī)的一個(gè)keyRENAME oldkeynewkey:key也可以改名RPUSH key string:將某個(gè)值加入到一個(gè)key列表末尾LPUSH key string:將某個(gè)值加入到一個(gè)key列表頭部LLEN key:列表長(zhǎng)度LRANGE key start end:返回列表中某個(gè)范圍的值,相當(dāng)于mysql里面的分頁(yè)查詢那樣LTRIM key start end:只保留列表中某個(gè)范圍的值LINDEX key index:獲取列表中特定索引號(hào)的值,要注意是O(n)復(fù)雜度LSET key index value:設(shè)置列表中某個(gè)位置的值

延伸閱讀1:redis的文件格式

redis使用了兩種文件格式:全量數(shù)據(jù)和增量請(qǐng)求。全量數(shù)據(jù)格式是把內(nèi)存中的數(shù)據(jù)寫入磁盤,便于下次讀取文件進(jìn)行加載;增量請(qǐng)求文件則是把內(nèi)存中的數(shù)據(jù)序列化為操作請(qǐng)求,用于讀取文件進(jìn)行replay得到數(shù)據(jù),序列化的操作包括SET、RPUSH、SADD、ZADD。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
開發(fā)APP需要哪些第三方費(fèi)用?

1、服務(wù)器費(fèi)用如果你的應(yīng)用需要一個(gè)服務(wù)器來(lái)存儲(chǔ)和處理數(shù)據(jù),你需要支付服務(wù)器費(fèi)用。服務(wù)器費(fèi)用通常是每月收費(fèi)的,而且價(jià)格因服務(wù)提供商和服務(wù)...詳情>>

2023-10-13 06:42:42
Web應(yīng)用開發(fā)中常見的HTTP Server和技術(shù)組件有哪些?

一、Web應(yīng)用開發(fā)中常見的HTTP Server有哪些1、ApacheApache HTTP Server(簡(jiǎn)稱Apache)是Apache軟件基金會(huì)的一個(gè)開放源碼的網(wǎng)頁(yè)服務(wù)器,可以在...詳情>>

2023-10-13 06:37:05
MySQL中的MyISAM讀的效率高,InnoDB寫的效率高,原理是什么?

一、MySQL中的MyISAM讀的效率高,InnoDB寫的效率高,原理是什么1、MyISAM存儲(chǔ)引擎采用表格鎖MyISAM 存儲(chǔ)引擎采用了一種稱為“表格鎖”(Table-l...詳情>>

2023-10-13 06:31:35
訪問(wèn)網(wǎng)頁(yè)的背后發(fā)生了什么?

一、域名解析當(dāng)我們?cè)跒g覽器中輸入網(wǎng)頁(yè)的域名時(shí),首先需要進(jìn)行域名解析。瀏覽器會(huì)將域名發(fā)送給本地域名服務(wù)器(DNS),以獲取對(duì)應(yīng)的IP地址。如...詳情>>

2023-10-13 06:04:09
外企銀行一般用什么linux版本系統(tǒng)和數(shù)據(jù)庫(kù)呢?

一、外企銀行一般用什么linux版本系統(tǒng)和數(shù)據(jù)庫(kù)Linux有非常多的發(fā)行版本,從性質(zhì)上劃分,大體分為由商業(yè)公司維護(hù)的商業(yè)版本與由開源社區(qū)維護(hù)的免...詳情>>

2023-10-13 05:50:44
快速通道
主站蜘蛛池模板: 太湖县| 泽库县| 大城县| 酒泉市| 巩留县| 罗甸县| 茂名市| 磐石市| 平阳县| 迭部县| 延长县| 乐业县| 梧州市| 满城县| 灵丘县| 河曲县| 新和县| 峨眉山市| 太康县| 贵阳市| 福建省| 贡山| 景东| 金平| 平定县| 普安县| 双桥区| 柏乡县| 土默特右旗| 霍城县| 鞍山市| 汝南县| 玉山县| 格尔木市| 永川市| 综艺| 武宣县| 平凉市| 社会| 巴塘县| 绥宁县|