Redis各位肯定都是知道的,目前最流程的No SQL之一,在眾多應(yīng)用場(chǎng)景中都有使用,具有高性能,抗并發(fā)的特性,在Azure中Redis也是個(gè)客戶常用的服務(wù),接下來準(zhǔn)備寫個(gè)短篇系列的博客專門來介紹Azure上redis的使用
首先來看下Redis的常用場(chǎng)景,通過這個(gè)介紹也可以看下什么樣的情況適合用Redis服務(wù)
模式 | 說明 |
緩存端 | 由于數(shù)據(jù)庫可能很大,因此不建議將整個(gè)數(shù)據(jù)庫加載到緩存中。 通常使用緩存端模式,只在需要時(shí)才將數(shù)據(jù)項(xiàng)加載到緩存中。 系統(tǒng)在更改后端數(shù)據(jù)時(shí),也會(huì)同時(shí)更新分布到其他客戶端的緩存。 另外,系統(tǒng)還可以設(shè)置數(shù)據(jù)項(xiàng)的過期時(shí)間,或者通過逐出策略將數(shù)據(jù)更新重新加載到緩存中。 |
內(nèi)容緩存 | 大多數(shù)通過模板生成的網(wǎng)頁會(huì)帶有頁眉、頁腳、工具欄、菜單,等等。這些網(wǎng)頁實(shí)際上不經(jīng)常變化,不應(yīng)以動(dòng)態(tài)方式生成。 與使用后端數(shù)據(jù)存儲(chǔ)相比,使用內(nèi)存中緩存(例如 Azure Redis 緩存)可以讓 Web 服務(wù)器快速訪問此類靜態(tài)內(nèi)容。 此模式可減少以動(dòng)態(tài)方式生成內(nèi)容所需的處理時(shí)間和服務(wù)器負(fù)荷。 這樣可以提高 Web 服務(wù)器的響應(yīng)能力,減少處理負(fù)荷所需的服務(wù)器數(shù)。 Azure Redis 緩存提供 Redis 輸出緩存提供程序,支持對(duì) ASP.NET 使用此模式。 |
用戶會(huì)話緩存 | 此模式通常用于購物車和其他用戶歷史記錄類型的信息。Web 應(yīng)用程序可能需要將此類信息與用戶 Cookie 相關(guān)聯(lián)。 在 Cookie 中存儲(chǔ)過多內(nèi)容可能會(huì)對(duì)性能造成負(fù)面影響,因?yàn)?Cookie 會(huì)變大,并且每次請(qǐng)求都需要傳遞和驗(yàn)證 Cookie。 常用解決方案是使用 Cookie 作為鍵來查詢后端數(shù)據(jù)庫中的數(shù)據(jù)。 使用內(nèi)存中緩存(例如 Azure Redis 緩存)將信息與用戶關(guān)聯(lián)在速度上要比與整個(gè)關(guān)系數(shù)據(jù)庫交互快得多 |
作業(yè)和消息隊(duì)列 | 當(dāng)應(yīng)用程序收到請(qǐng)求時(shí),通常還需要額外的時(shí)間來執(zhí)行與請(qǐng)求相關(guān)聯(lián)的操作。 通常會(huì)將運(yùn)行時(shí)間較長(zhǎng)的操作添加到隊(duì)列中,留待以后處理(可能由其他服務(wù)器處理)。 這種將工作推遲的方法稱為任務(wù)隊(duì)列。 多種軟件組件專用于提供任務(wù)隊(duì)列支持。 Azure Redis 緩存也以分布式隊(duì)列的方式提供此支持。 |
分布式事務(wù) | 通常會(huì)要求應(yīng)用程序能夠以單個(gè)操作(原子操作)的方式對(duì)后端數(shù)據(jù)存儲(chǔ)執(zhí)行一系列命令。 所有命令都必須成功,否則,所有命令都必須回退到初始狀態(tài)。 Azure Redis 緩存支持通過單個(gè)操作以事務(wù)形式執(zhí)行一批命令。 |
如果符合這些場(chǎng)景的話,那么就可以嘗試使用Redis,Azure上的Redis和其他服務(wù)一樣,也是分不同的級(jí)別的
層 | 說明 |
基本 | 單節(jié)點(diǎn)緩存。 此層支持多種內(nèi)存大小 (250 MB - 53 GB)。 此層適用于開發(fā)/測(cè)試和非關(guān)鍵型工作負(fù)荷。 基本層沒有服務(wù)級(jí)別協(xié)議 (SLA) |
標(biāo)準(zhǔn) | 的雙節(jié)點(diǎn)(主/輔)配置中提供復(fù)制的緩存,并提供高可用性 SLA (99.9%) |
高級(jí) | 高級(jí)層是面向企業(yè)的層。 高級(jí)層緩存支持更多的功能,吞吐量更高,延遲更低。 高級(jí)層中的緩存部署在更強(qiáng)大的硬件上,其性能優(yōu)于基本層或標(biāo)準(zhǔn)層。 這種優(yōu)勢(shì)意味著,在緩存大小相同的情況下,高級(jí)層的吞吐量大于標(biāo)準(zhǔn)層。 |
不同的層功能也會(huì)有很大區(qū)別,簡(jiǎn)單來說可以用一張圖來直觀的看到不同層支持的功能
總體來說,
基本緩存是單個(gè)緩存節(jié)點(diǎn),適用于開發(fā)/測(cè)試和非關(guān)鍵型工作負(fù)荷?;炯?jí)別沒有服務(wù)級(jí)別協(xié)議。緩存節(jié)點(diǎn)的更新升級(jí)階段,服務(wù)不可用,數(shù)據(jù)可能會(huì)丟失。
標(biāo)準(zhǔn)緩存在雙節(jié)點(diǎn)主要/輔助配置中提供一個(gè)復(fù)制的緩存。微軟會(huì)管理兩個(gè)節(jié)點(diǎn)之間的自動(dòng)復(fù)制,并提供一個(gè)高可用性的服務(wù)級(jí)別協(xié)議。
高級(jí)緩存除了擁有更強(qiáng)大的性能之外,還提供了眾多標(biāo)準(zhǔn)和基本層級(jí)不支持的功能,比如VNET集成,Redis群集模式,sharding等
當(dāng)然除了功能之外,各個(gè)層級(jí)都有不同的性能指標(biāo),允許的客戶端大連接數(shù)量也是不同的
比如
基本 | 標(biāo)準(zhǔn) | 高級(jí) | |
內(nèi)存大小 | 250 MB - 53 GB | 250 MB - 53 GB | 6 GB - 530 GB* |
網(wǎng)絡(luò)性能 | 低 - 高 | 低 - 高 | 中等 - 高 |
客戶端大連接數(shù)量 | 20000 | 20000 | 40000 |
當(dāng)然每個(gè)層級(jí)也會(huì)有不同的登記,比如標(biāo)準(zhǔn)層級(jí)還會(huì)細(xì)分為C0-C6 7個(gè)級(jí)別,每個(gè)級(jí)別的價(jià)格和性能都是不一樣的,具體可以參考以下網(wǎng)址
https://www.azure.cn/zh-cn/pricing/details/cache/
對(duì)于生產(chǎn)環(huán)境來說,最少也要使用標(biāo)準(zhǔn)版
以上就是Redis的簡(jiǎn)單介紹,接下來我們來看下創(chuàng)建Redis過程中的一些配置,以及如何驗(yàn)證Redis是否能正常工作
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。