国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

怎么在58上做公司網(wǎng)站企業(yè)網(wǎng)站推廣方案策劃

怎么在58上做公司網(wǎng)站,企業(yè)網(wǎng)站推廣方案策劃,網(wǎng)站主體負(fù)責(zé)人,藝術(shù)設(shè)計(jì)專(zhuān)業(yè)學(xué)什么前言 這是關(guān)于 Redis 全景圖的最后一篇文章。因?yàn)橐淮螌?xiě)太多會(huì)限流,我也是沒(méi)辦法,才分成三篇文章來(lái)寫(xiě)。這篇文章是關(guān)于 Redis 應(yīng)用于緩存的。 其實(shí)為什么要講這個(gè)話題呢? Redis 應(yīng)用在很多地方呀,為什么一定要挑著這個(gè)話題來(lái)講呢…

前言

這是關(guān)于 Redis 全景圖的最后一篇文章。因?yàn)橐淮螌?xiě)太多會(huì)限流,我也是沒(méi)辦法,才分成三篇文章來(lái)寫(xiě)。這篇文章是關(guān)于 Redis 應(yīng)用于緩存的。

其實(shí)為什么要講這個(gè)話題呢? Redis 應(yīng)用在很多地方呀,為什么一定要挑著這個(gè)話題來(lái)講呢?我剛開(kāi)始接觸 Redis 的時(shí)候,對(duì) Redis 的很多知識(shí)都不熟悉,但是Redis又經(jīng)常用于緩存,所以我就把Redis 和緩存搞混了。我以為 Redis 就是緩存,緩存就是 Redis。然后我背了好多知識(shí),什么緩存與數(shù)據(jù)庫(kù)不一致,什么緩存雪崩緩存穿透這些,都是關(guān)于 Redis 的,所以我當(dāng)時(shí)就認(rèn)為緩存是Redis。那個(gè)時(shí)候,我一直建立不起系統(tǒng)觀,不能對(duì) Redis 和緩存這兩個(gè)知識(shí)點(diǎn)高山看海。后來(lái)我看了好多文章,然后通過(guò)文章來(lái)對(duì)自己腦里的知識(shí)做梳理總結(jié)后,才明白這兩者的區(qū)別。所以我特意寫(xiě)一篇文章來(lái)講講 Redis 應(yīng)用于緩存這個(gè)場(chǎng)景。

緩存的兩個(gè)特征

要講 Redis 應(yīng)用于緩存,那我們就先來(lái)講緩存,再講 Redis。因?yàn)槲覀冏罱K要解決的問(wèn)題是為什么Redis 可以應(yīng)用于緩存?kafka 為什么不可以應(yīng)用于緩存?zookeepeer 為什么不可以?為什么就Redis 可以?

緩存是用來(lái)放一些熱點(diǎn)數(shù)據(jù),加快查詢速度的,所以緩存有兩大特征:緩存是一個(gè)快速的系統(tǒng),而且緩存的容量小于后端的慢速系統(tǒng)。

緩存在 CPU 和內(nèi)存中都存在,但是 Redis 應(yīng)用于內(nèi)存的緩存,不應(yīng)用于CPU的緩存。

Redis用于緩存的兩大天然優(yōu)勢(shì)

上面說(shuō)了,緩存的一大特點(diǎn)就是快,那 Redis 剛好適合,Redis 很快。同時(shí),Redis 還有專(zhuān)屬的數(shù)據(jù)淘汰機(jī)制,使得 Redis 保存的數(shù)據(jù)會(huì)比較少,剛好符合緩存容量小于后端的慢速系統(tǒng)這個(gè)特點(diǎn)。

引入緩存的4個(gè)問(wèn)題

這幾乎是緩存中最難理解的地方了。這個(gè)地方的知識(shí)點(diǎn)多而且雜,還不好理解。不過(guò)假如你建立了系統(tǒng)觀的話也還好,至少回憶起來(lái)會(huì)快一點(diǎn)。

緩存雪崩

Tomcat 一般是先訪問(wèn)緩存再訪問(wèn)數(shù)據(jù)庫(kù)的。但是,假如緩存中數(shù)據(jù)在某一時(shí)刻同時(shí)過(guò)期,那大量的并發(fā)請(qǐng)求就會(huì)越過(guò)緩存直接走數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)壓力劇增,這就是緩存雪崩。解決方法是給緩存中的數(shù)據(jù)的過(guò)期時(shí)間設(shè)一個(gè)隨機(jī)值。

緩存穿透

Tomcat 故意大量請(qǐng)求緩存中沒(méi)有的數(shù)據(jù),導(dǎo)致請(qǐng)求走數(shù)據(jù)庫(kù),并發(fā)時(shí)壓力劇增。解決方法是在Dao 層就攔截這種非法請(qǐng)求。

緩存與數(shù)據(jù)庫(kù)不一致

說(shuō)實(shí)話,這個(gè)是真的燒腦,就很難受,我一直搞不懂這里,因?yàn)檫@里確實(shí)很復(fù)雜。我盡量將我能理解的寫(xiě)出來(lái)......

其實(shí)對(duì)數(shù)據(jù)的操作無(wú)非就是“讀”和“寫(xiě)”?!白x”不會(huì)造成緩存與數(shù)據(jù)庫(kù)不一致的問(wèn)題,但是“寫(xiě)”就會(huì)?!皩?xiě)”其實(shí)就是更新的意思,那無(wú)論我們先更新數(shù)據(jù)庫(kù)再同步給緩存,還是先更新緩存再同步給數(shù)據(jù)庫(kù),我們都想保證這些操作的原子性。假如第一步更新失敗了,那就失敗唄,沒(méi)什么大不了的。但是假如第一步更新成功了,第二步更新失敗了,那就會(huì)造成緩存與數(shù)據(jù)庫(kù)不一致的問(wèn)題(即緩存中的值是新值而數(shù)據(jù)庫(kù)中的值是舊值;也有可能緩存中的值是舊值而數(shù)據(jù)庫(kù)中的值是新值)。因此更新數(shù)據(jù)庫(kù)和更新緩存這個(gè)操作不太好。

那我們換一種思路,數(shù)據(jù)庫(kù)是必須要更新的,但是緩存不一定需要更新,所以我們能否考慮刪除緩存,一了百了呢?我了解到的答案是可以的。先刪除緩存再更新數(shù)據(jù)庫(kù),在高并發(fā)下不太OK,但是在原子性被破壞的情況下表現(xiàn)很OK。先更新數(shù)據(jù)庫(kù)再刪除緩存,在高并發(fā)下很OK,但在原子性被破壞時(shí)不太OK。

緩存數(shù)據(jù)淘汰策略

因?yàn)榫彺姹容^少,沒(méi)有磁盤(pán)那么大,所以不可避免的,過(guò)一段時(shí)間就要對(duì)緩存的數(shù)據(jù)進(jìn)行淘汰。而Redis 有自己的數(shù)據(jù)淘汰策略,所以很適合用作緩存。下面我就來(lái)介紹一下 Redis 的數(shù)據(jù)淘汰策略。

假如你添加了一批鍵值對(duì),設(shè)置了一小時(shí)的過(guò)期時(shí)間。一小時(shí)后,這批數(shù)據(jù)已經(jīng)全部過(guò)期了,你想要?jiǎng)h除這些鍵值對(duì),怎么辦?可以采用定期刪除策略,即每過(guò)100ms就隨機(jī)抽取一些設(shè)置了過(guò)期時(shí)間的鍵值對(duì),過(guò)期就刪除。但是由于是隨機(jī)的,所以很可能漏掉了一些鍵值對(duì),因此我們可以采用惰性刪除。惰性刪除就是你要使用的時(shí)候看看鍵值對(duì)是不是過(guò)期的,過(guò)期就順便刪掉。

但是問(wèn)題是定期刪除+惰性刪除也不一定可以保證所有過(guò)期數(shù)據(jù)都被刪除,有些數(shù)據(jù)你隨機(jī)抽取,抽取不到,而你又一直不適用這些抽取不到的數(shù)據(jù),導(dǎo)致這些數(shù)據(jù)積壓在 Redis 中。所以引入了一種技術(shù):通過(guò)內(nèi)存淘汰機(jī)制來(lái)淘汰鍵值對(duì)。內(nèi)存淘汰機(jī)制的算法有很多,我覺(jué)得用的最多的是LRU算法。

小結(jié)

在這篇文章中我講了 Redis 應(yīng)用于緩存。我先講了緩存的兩個(gè)特征,為接下來(lái)解答為什么 Redis 可以應(yīng)用于緩存做鋪墊。接著我又講了引入緩存所遇到的4個(gè)問(wèn)題:緩存雪崩、緩存穿透、緩存與數(shù)據(jù)庫(kù)不一致、緩存怎么淘汰數(shù)據(jù)。

感想

這是我第一次以這種方式來(lái)寫(xiě)文章,通過(guò)一篇文章(其實(shí)是三篇)將我腦子里的 Redis 全景圖描繪出來(lái)。在這幾天的學(xué)習(xí)中,我的收獲還是挺大的,倒不是我學(xué)習(xí)了很多 Redis 的新知識(shí),當(dāng)然學(xué)習(xí)到新知識(shí)只是一方面,更重要的是我深刻的理解了建立系統(tǒng)觀的重要性。如果沒(méi)有系統(tǒng)觀,我學(xué)到的知識(shí)僅僅只是幾個(gè)點(diǎn),構(gòu)建不成一個(gè)面。這樣就會(huì)導(dǎo)致我有可能學(xué)了很多知識(shí),但是卻不知道如何講起。而且,當(dāng)我有了系統(tǒng)觀,將 Redis 中的各個(gè)知識(shí)以一個(gè)思路串聯(lián)在一起后,我感覺(jué)我對(duì)Redis 的很多知識(shí)的具體細(xì)節(jié)又有了新的理解。

那怎么才能建立系統(tǒng)觀呢?我個(gè)人覺(jué)得是看一些優(yōu)質(zhì)的技術(shù)文章,通過(guò)一些優(yōu)質(zhì)的文章或者書(shū)籍來(lái)引導(dǎo)你去思考。最好不要看視頻,因?yàn)榭匆曨l的話你是無(wú)法思考的,看視頻算是一個(gè)接受的過(guò)程,沒(méi)有思考的過(guò)程。說(shuō)到書(shū)籍,我有時(shí)會(huì)去圖書(shū)館看很多技術(shù)書(shū),但是我不是一整本書(shū)全部看完。比如說(shuō)我看《Redis原理剖析》,我不會(huì)一整本看完,而是以一種高山看海的角度去看看這個(gè)作者到底是以一種什么樣的角度去寫(xiě) Redis 的,從而去推測(cè)出這個(gè)作者腦子的 Redis 思維導(dǎo)圖,他腦子里的 Redis 總體框架是怎么樣的,我能否借鑒一下作者腦子的框架,形成一個(gè)屬于我自己的 Redis 全景圖。這是我覺(jué)得形成系統(tǒng)觀最重要的一點(diǎn)。接下來(lái),我會(huì)繼續(xù)嘗試用這種方式寫(xiě)第二篇長(zhǎng)文,第二篇長(zhǎng)文的主題是 MySQL。

http://aloenet.com.cn/news/28050.html

相關(guān)文章:

  • 幫網(wǎng)貸做網(wǎng)站會(huì)判刑嗎網(wǎng)站加速器
  • 個(gè)人網(wǎng)站營(yíng)業(yè)執(zhí)照百度搜索引擎地址
  • WordPress P站優(yōu)化二十條
  • 如何做資源論壇網(wǎng)站百度推廣和優(yōu)化哪個(gè)好
  • 南昌網(wǎng)站建設(shè)費(fèi)用四川seo優(yōu)化
  • 做網(wǎng)站的要多錢(qián)百度關(guān)鍵詞優(yōu)化
  • 網(wǎng)站開(kāi)發(fā)難點(diǎn)站長(zhǎng)工具seo查詢
  • wordpress添加文章副標(biāo)題谷歌seo服務(wù)商
  • 泰興網(wǎng)站制作網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃方案模板
  • 搭建網(wǎng)站做財(cái)務(wù)系統(tǒng)網(wǎng)站建設(shè)流程步驟
  • 網(wǎng)友seo排名賺掛機(jī)
  • 成功網(wǎng)站管理系統(tǒng)十大網(wǎng)絡(luò)推廣公司排名
  • 做網(wǎng)站宣傳多少錢(qián)如何快速網(wǎng)絡(luò)推廣
  • 做網(wǎng)站的外包能學(xué)到什么磁力蜘蛛
  • 大連網(wǎng)站建設(shè)seo怎么去優(yōu)化
  • 重慶市衛(wèi)生健康委員會(huì)福州短視頻seo網(wǎng)站
  • 天津重型網(wǎng)站建設(shè)推薦沈陽(yáng)網(wǎng)站seo公司
  • 國(guó)內(nèi)外網(wǎng)站建設(shè)長(zhǎng)沙關(guān)鍵詞優(yōu)化平臺(tái)
  • 手機(jī)打開(kāi)網(wǎng)站自動(dòng)跳轉(zhuǎn)網(wǎng)站優(yōu)化排名推薦
  • 做生意必定紅火的公司名字win10優(yōu)化
  • 網(wǎng)站favicon.ico 大小做網(wǎng)站用什么軟件
  • 做網(wǎng)站公司名字應(yīng)該用圖片嗎網(wǎng)站seo優(yōu)化工具
  • 聯(lián)通營(yíng)業(yè)廳做網(wǎng)站維護(hù)知乎營(yíng)銷(xiāo)平臺(tái)
  • 東莞網(wǎng)站維護(hù)網(wǎng)站制作費(fèi)用一覽表
  • 廣安網(wǎng)站制作設(shè)計(jì)掃描圖片找原圖
  • 濟(jì)寧網(wǎng)站建設(shè)關(guān)鍵字是什么意思
  • 企業(yè)管理軟件是什么杭州seo博客
  • 微信網(wǎng)站制作價(jià)格競(jìng)價(jià)防惡意點(diǎn)擊
  • 做爰視頻無(wú)風(fēng)險(xiǎn)網(wǎng)站廣告有限公司
  • 服裝店網(wǎng)站模板網(wǎng)站快速建站