欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)激活碼778899分享:緩存 Redis個(gè)人總結(jié)

柚子快報(bào)激活碼778899分享:緩存 Redis個(gè)人總結(jié)

http://yzkb.51969.com/

一、概述

1.什么是Redis

Redis是一個(gè)非關(guān)系型數(shù)據(jù)庫(kù),數(shù)據(jù)存儲(chǔ)在內(nèi)存中,因此操作速度非???,通常用來(lái)存儲(chǔ)服務(wù)器的緩存數(shù)據(jù)。

2.為什么要用Redis

傳統(tǒng)數(shù)據(jù)庫(kù)查詢速度因?yàn)橛凶x取磁盤(pán)的瓶頸,因此無(wú)法支持過(guò)大流量的查詢,將數(shù)據(jù)放在內(nèi)存中,就可以避免磁盤(pán)的讀寫(xiě),以支持超大流量的查詢。而Redis就是這么一個(gè)緩存數(shù)據(jù)庫(kù)。

3.Redis怎么樣

Redis是目前最主流的緩存數(shù)據(jù)庫(kù),除了提供緩存數(shù)據(jù)的支持外,還因?yàn)槠鋯尉€程、全局唯一、高速讀寫(xiě)等特性,可以實(shí)現(xiàn)如分布式鎖、布隆過(guò)濾器、計(jì)數(shù)器、消息隊(duì)列等更多實(shí)用功能。

二、Redis的數(shù)據(jù)類(lèi)型

1.Redis支持的數(shù)據(jù)類(lèi)型

1.String

字符串類(lèi)型, 是平常使用最多的類(lèi)型,用來(lái)存儲(chǔ)各種字符串,也可以將整形、浮點(diǎn)型數(shù)據(jù)作為字符串存儲(chǔ),如果是整形或浮點(diǎn)型,還可以在Redis中做簡(jiǎn)單的加減運(yùn)算。

2.Hash

散列類(lèi)型,用來(lái)存儲(chǔ)field-value(鍵值對(duì)) 形式的映射表,相當(dāng)于一次存儲(chǔ)了一個(gè)Map。

3.List

列表類(lèi)型,相當(dāng)于一個(gè)雙向鏈表,可以往兩頭插入數(shù)據(jù)和獲取數(shù)據(jù),可以用來(lái)實(shí)現(xiàn)Redis版的消息隊(duì)列。

4.Set

無(wú)序集合,類(lèi)似于Java中的HashSet,可以往集合中插入數(shù)據(jù),但沒(méi)有順序,同時(shí)具有唯一性。

5.Zset

有序集合,在無(wú)序集合的基礎(chǔ)上增加了一個(gè)下標(biāo),插入數(shù)據(jù)時(shí)同時(shí)插入下標(biāo),使用下標(biāo)進(jìn)行排序。

6.Bitmap

位圖 Bitmap 存儲(chǔ)的是連續(xù)的二進(jìn)制數(shù)字(0 和 1),通過(guò) Bitmap, 只需要一個(gè) bit 位來(lái)表示某個(gè)元素對(duì)應(yīng)的值或者狀態(tài),key 就是對(duì)應(yīng)元素本身 。我們知道 8 個(gè) bit 可以組成一個(gè) byte,所以 Bitmap 本身會(huì)極大的節(jié)省儲(chǔ)存空間。

7.Geospatial

地理位置,主要用于存儲(chǔ)地理位置信息,基于 Sorted Set 實(shí)現(xiàn)。

通過(guò) GEO 我們可以輕松實(shí)現(xiàn)兩個(gè)位置距離的計(jì)算、獲取指定位置附近的元素等功能。

8.HyperLogLog

HyperLogLog 是一種有名的基數(shù)計(jì)數(shù)概率算法 ,基于 LogLog Counting(LLC)優(yōu)化改進(jìn)得來(lái),并不是 Redis 特有的,Redis 只是實(shí)現(xiàn)了這個(gè)算法并提供了一些開(kāi)箱即用的 API。主要用于大數(shù)量的計(jì)數(shù)統(tǒng)計(jì)。

三、持久化方法

1.RDB持久化

RDB持久化是Redis的默認(rèn)持久化功能 SAVE命令 阻塞服務(wù)器,創(chuàng)建RDB文件 BGSAVE命令 啟動(dòng)子進(jìn)程創(chuàng)建RDB文件 RDB持久化是通過(guò)時(shí)間點(diǎn)快照的方式持久化數(shù)據(jù),簡(jiǎn)而言之就是只會(huì)保存執(zhí)行持久化命令時(shí)間點(diǎn)的所有數(shù)據(jù),執(zhí)行命令后創(chuàng)建的數(shù)據(jù)不會(huì)保存到RDB文件中。

2.AOF持久化

與全量式RDB持久化不同,AOF提供的是增量式的持久化功能,這種持久化原理在于,服務(wù)器每次執(zhí)行完寫(xiě)命令后,都會(huì)將以協(xié)議文本的方式將命令記錄到AOF文件的末尾,服務(wù)器停機(jī)后,通過(guò)重新執(zhí)行AOF文件中的命令,恢復(fù)之前的數(shù)據(jù)。 AOF的優(yōu)缺點(diǎn) 1.AOF文件的體積比RDB文件大得多 2.AOF文件做數(shù)據(jù)恢復(fù)比RDB文件慢得多 3.進(jìn)行AOF文件重寫(xiě)會(huì)占用大量資源,導(dǎo)致服務(wù)器短暫阻塞

3.RDB-AOF混合持久化

Redis4.0之后引入RDB-AOF混合持久化, 將aof-use-rdb-preamble選項(xiàng)設(shè)置成yes后 Redis執(zhí)行AOF重寫(xiě)操作時(shí),首先會(huì)將當(dāng)前數(shù)據(jù)庫(kù)狀態(tài)按RDB持久化方式將數(shù)據(jù)寫(xiě)入AOF文件中,至于持久化開(kāi)始后的數(shù)據(jù),則以AOF持久化的方式,將命令追加到AOF文件末尾。 換句話說(shuō),服務(wù)器生成的AOF文件將由兩部分組成,開(kāi)頭是RDB文件格式,結(jié)尾是AOF格式的數(shù)據(jù)。

四、緩存擊穿、雪崩等場(chǎng)景分析

1.緩存穿透

當(dāng)大量并發(fā)請(qǐng)求去查詢一個(gè)Redis不存在,且數(shù)據(jù)庫(kù)中不存在的數(shù)據(jù)時(shí),大量請(qǐng)求透過(guò)了Redis直接訪問(wèn)數(shù)據(jù)庫(kù),導(dǎo)致服務(wù)器宕機(jī)。

解決方案: 查詢到空數(shù)據(jù)時(shí),依然將空數(shù)據(jù)保存到Redis中,保證請(qǐng)求不會(huì)直接到達(dá)數(shù)據(jù)庫(kù)。當(dāng)該數(shù)據(jù)新增時(shí),刪除Redis空數(shù)據(jù)。保證讀取Redis不發(fā)生臟讀現(xiàn)象。

2.緩存擊穿

當(dāng)緩存數(shù)據(jù)有過(guò)期時(shí)間時(shí),如果過(guò)期時(shí)間剛過(guò),此時(shí)有大量并發(fā)請(qǐng)求進(jìn)來(lái)查詢這個(gè)數(shù)據(jù)時(shí),雖然查完數(shù)據(jù)庫(kù)后會(huì)更新緩存,但依舊會(huì)有大量請(qǐng)求去查詢數(shù)據(jù)庫(kù)。此時(shí)可能因并發(fā)過(guò)高導(dǎo)致服務(wù)器宕機(jī)

解決方案: 可以通過(guò)分布式鎖,發(fā)現(xiàn)數(shù)據(jù)不在Redis,去查詢數(shù)據(jù)庫(kù)時(shí)加上分布式鎖,保證只有一個(gè)請(qǐng)求去查詢數(shù)據(jù)庫(kù)。未獲取到鎖則重試Redis獲取數(shù)據(jù)。大幅降低了數(shù)據(jù)庫(kù)層的壓力。

3.緩存雪崩

大量緩存數(shù)據(jù)設(shè)置了相同的過(guò)期時(shí)間,導(dǎo)致數(shù)據(jù)同時(shí)過(guò)期時(shí),數(shù)據(jù)庫(kù)請(qǐng)求激增,導(dǎo)致服務(wù)器宕機(jī)。

解決方案: 避免大量緩存數(shù)據(jù)使用相同的過(guò)期時(shí)間,通過(guò)使用隨機(jī)數(shù)的方式,保證數(shù)據(jù)不在同一時(shí)間點(diǎn)失效。

4.緩存預(yù)熱

提前將熱點(diǎn)數(shù)據(jù)加載到Redis,降低數(shù)據(jù)庫(kù)的壓力,注意不要使用相同的過(guò)期時(shí)間,防止緩存雪崩。

五、Redis 內(nèi)存淘汰策略

Redis內(nèi)存淘汰策略是在Redis內(nèi)存使用達(dá)到限制時(shí),為了釋放內(nèi)存空間而采取的一系列策略。 Redis 提供 8 種數(shù)據(jù)淘汰策略

1.noeviction(默認(rèn)策略)

Redis默認(rèn)不會(huì)淘汰數(shù)據(jù),當(dāng)內(nèi)存使用達(dá)到限制時(shí),新的寫(xiě)入操作會(huì)報(bào)錯(cuò)。

2.volatile-lru(最近最少使用)

從設(shè)置了過(guò)期時(shí)間的鍵中,使用 LRU(Least Recently Used,最近最少使用)算法淘汰數(shù)據(jù)。

3.volatile-ttl

從設(shè)置了過(guò)期時(shí)間的鍵中,優(yōu)先淘汰剩余生存時(shí)間(TTL,Time To Live)較短的鍵。

4.volatile-random:

從設(shè)置了過(guò)期時(shí)間的鍵中,隨機(jī)淘汰數(shù)據(jù)。

5.volatile-lfu:

從已設(shè)置過(guò)期時(shí)間的數(shù)據(jù)集中挑選最不經(jīng)常使用的數(shù)據(jù)淘汰。

6.allkeys-lru:

從所有鍵中,使用 LRU(Least Recently Used,最近最少使用)算法淘汰數(shù)據(jù)。

7.allkeys-random:

從所有鍵中,隨機(jī)淘汰數(shù)據(jù)

8.allkeys-lfu:

從所有鍵中,移除最不經(jīng)常使用的 key。

柚子快報(bào)激活碼778899分享:緩存 Redis個(gè)人總結(jié)

http://yzkb.51969.com/

精彩鏈接

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19538961.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄