Azure Redis 系列之 Azure Redis簡(jiǎn)介

? ? 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 GB250 MB - 53 GB6 GB - 530 GB*網(wǎng)絡(luò)性能低?-?高低?-?高中等?-?最高客戶端最大連接數(shù)量?
20000?
2000040000?
當(dāng)然每個(gè)層級(jí)也會(huì)有不同的登記,比如標(biāo)準(zhǔn)層級(jí)還會(huì)細(xì)分為C0-C6 7個(gè)級(jí)別,每個(gè)級(jí)別的價(jià)格和性能都是不一樣的
對(duì)于生產(chǎn)環(huán)境來說,最少也要使用標(biāo)準(zhǔn)版?
以上就是Redis的簡(jiǎn)單介紹,接下來我們來看下創(chuàng)建Redis過程中的一些配置,以及如何驗(yàn)證Redis是否能正常工作
了解更多網(wǎng)絡(luò)知識(shí)關(guān)注:http://www.vecloud.com/