用于緩存的 Redis 企業版
實作可擴充、有彈性的實時應用程式
為什麼企業需要數字化?
數字化轉型的根本目的是什麼?
資料的緩存為什麼如此的重要?
虹科Redis Enterprise又能夠在哪些方面助力企業解決資料處理難題?
01 目前資料庫緩存面臨的挑戰:使用目前資料庫實作速度和可擴充性
實作滿足使用者期望所需的資料性能并不容易。企業需要應對遺留基礎設施、緩慢的資料庫和技術債務。他們經常面臨成本、精力和業務連續性限制。
資料是業務應用程式的命脈。然而,組織的應用程式必須處理大型資料集,這會降低性能,特别是當應用程式每次需要時都必須通路資料庫時。
結果是痛苦且昂貴的:
l 延遲:客戶期望應用程式能夠立即響應,但許多業務應用程式速度太慢。
l 可擴充性: 許多應用程式和資料庫都在努力支援數字業務服務的增長或承受突然的需求激增。
l 彈性:由于應用程式處于業務停機的最前沿,是以停機是一項重大的業務風險,而防止停機是一項重大的技術挑戰。
l 技術債務:企業需要提高性能、可擴充性和彈性,而無需承受從頭開始重新設計系統的痛苦和費用。
02 解決方案:使用Redis企業版進行緩存
企業級緩存層會産生巨大的影響。緩存層是位于應用程式和資料庫之間的臨時存儲位置。它允許應用程式快速通路經常需要的資料,而不必每次都查詢資料庫。這通過縮短響應時間并減輕資料庫的負擔來顯着增強應用程式性能和可擴充性。
這不僅僅是一個技術問題。緩存提供了業務優勢,因為它減輕了對軟體開發和操作人員的需求。實施企業級緩存可以避免耗時、資源密集且昂貴的資料庫遷移或應用程式重構。換句話說: 這是解決性能和可用性問題的快速方法,無需要求開發人員在其待 辦事項清單中添加另一個項目。
Redis Enterprise 由 Redis 開源的建立者建構,在具有挑戰性的企業生産環境中部署已有十多年的曆史。
可在本地、通過Kubernetes、在混合環境中使用,或在Amazon Web Services(AWS) ,微軟Azure,和谷歌雲(GCP) 環境中完全托管,Redis Enterprise 幫助數千個大型組織保持實時性能,并具有可擴充性、成本效率和高可用性。它也很容易使用,這就是開發人員争相使用它的原因。
用例一:旁路緩存
何時使用它?為了加快資料庫讀取速度。旁路緩存通常與最近最少使用(LRU)淘汰政策一起使用
1. 真實用例
考慮在零售網站上展示特色産品。第一次展示産品時,電子商務應用程式會從記錄系統加載産品詳細資訊 (圖像、價格和中繼資料) 。然後,應用程式将詳細資訊緩存到 Redis Enterprise 中。
結果: 網站可以以低延遲向大量使用者提供相同的資料。
2. 描述
使用 Redis Enterprise 作為緩存的最常見方式是旁路緩存。
資料僅在必要時才加載到Redis Enterprise緩存中,是以有時被稱為延遲加載。
當需要緩存資料集的子集并且緩存未命中可以接受時,旁路緩存是讀取應用程式的常見選擇。使用緩存端模式,應用程式處理所有資料操作,并直接與緩存和資料庫通信。資料庫和緩存不直接互相通信。
3.緩存端如何與 Redis Enterprise配合使用?
應用程式檢視 Redis Enterprise 緩存以檢索資料。如果找到資料 (稱為緩存命中) ,Redis會将資料傳送到應用程式。這種情況發生在亞毫秒級延遲的情況下。
如果未找到資料 (緩存未命中) ,應用程式将從資料庫中檢索資料。延遲較高時會發生這種情況。然後,應用程式将資料寫入 Redis Enterprise。
用例二:查詢緩存
何時使用它?加快高延遲常用查詢的速度
1.真實用例
真實用例: 使遺留應用程式保持最新狀态是一個令人痛苦的項目。
即使舊系統必須與新軟體互動,也沒有人願意接觸塵土飛揚、挑剔的代碼。查詢緩存可讓您保留舊系統,并将其連接配接到具有更快 SOL 資料性能的新系統。
2.描述
使用查詢緩存來提高查詢性能,進而縮短資料查詢的響應時間。查詢緩存是旁路緩存模式的獨特實作,旨在針對較慢的記錄系統加速 (通常可重複) SOL 查詢。
通過查詢緩存,您不需要将資料轉換為另一種資料結構。從應用程式的角度來看,這隻是一個資料庫查詢,傳回的值來自緩存而不是有意的資料庫讀取。查詢用作鍵,序列化結果集用作值。
一種常見的用途是遷移到微服務的企業。當企業遷移到微服務而無需重新建構目前系統平台或從頭開始時,使用查詢緩存是很常見的。
這種解決方案中的一個要素是Redis智能緩存。它使開發人員能夠快速部署标準化查詢緩存以簡化管理和操作,而且您無需重新設計應用程式。隻需将庫添加為新的依賴項,并将 Redis 端點作為其屬性檔案即可。該庫還支援對通過 Java 資料庫連接配接(JDBC) 驅動程式流向記錄系統的所有查詢進行分析。
3.查詢緩存如何與 Redis Enterprise配合使用?
當應用程式想要查詢資料庫時,它會向 RedisEnterprise 緩存發送 SQL 查詢。
如果找到資料(稱為緩存命中),RedisEnterprise 會将資料傳送到應用程式。這種情況發生在亞毫秒級延遲的情況下。
用例三:後寫式緩存
何時使用它?
在一緻性至關重要時加快讀取速度,而不強制應用程式管理多個資料源連接配接
1.真實用例
一些行業需要資料庫來儲存額外的記錄,例如醫療和金融公司。
但每個事務寫入多個資料庫會抑制寫入響應時間,并可能導緻應用程式延遲。
例如,當您需要處理财務記錄和交易資料并将其儲存在冷存儲中以進行審計或報告時,Write behind 緩存是個不錯的選擇。
2.描述
某些應用程式通路現有資訊的頻率遠高于存儲或更新事務的頻率。和查詢緩存非常适合這些場景。然而,當應用程式執行大量寫入操作
後寫式緩存是更好的選擇。它提高了寫入性能并簡化了應用程式開發,因為應用程式僅寫入一個位置: Redis Enterprise。然後,Redis Enterprise異步更新後端資料庫。
您可以将 Redis Enterprise 的內建更改資料捕獲(CDC)與緩存一起使用,以識别緩存中更改的資料,并確定資料最終在底層資料庫中更新。
3.後寫式緩存如何與
應用程式将資料寫入Redis Enterprise緩存,而不是直接寫入資料庫。
資料存儲到Redis Enterprise後,Redis Enterprise使用內建的CDC異步寫入資料庫。
用例四:直寫式緩存
何時使用它?
加速寫入密集型工作負載,而不強制應用程式管理多個資料源連接配接。
1.真實用例
真實用例:一些企業使用“關鍵任務”作為流行語。但對許多人來說,這是赤裸裸的事實陳述一一妥協不是一種選擇。當您需要緩存但絕對不能丢失資料 (例如關鍵零售客戶資料或金融交易資料) 時,請考慮直寫式緩存。
2.描述
直寫式緩存政策與後寫式方法類似,因為緩存位于應用程式和操作資料存儲之間。
緩存負責立即更新資料庫。然後,應用程式可以直接從Redis Enterprise 讀取資料,延遲時間為亞毫秒級。
直寫模式有利于緩存和資料存儲之間的資料一緻性。它依靠事件驅動的功能來實作系統之間的資料流。Redis能夠確定資料庫同步更新,以保持緩存和記錄系統之間的一緻性。
3.直寫式緩存如何與
應用程式将資料寫入 Redis Enterprise 緩存。
Redis Enterprise 確定記錄系統同步更新,以保持Redis Enterprise 和記錄系統之間的一緻性。
用例五:緩存預取
何時使用它?
通過從記錄系統解除安裝讀取,在寫入優化和讀取優化工作負載之間部署連續複制。
1.真實用例
應用程式依靠使用者配置檔案在整個會話期間識别個人 (從身份驗證開始) 。
這些使用者配置檔案經常被讀取,但很少更改。緩存預取應用程式的使用者配置檔案,允許直接在資料庫中進行不頻繁的寫入,同時将資料預加載到 Redis Enterprise 以支援大量讀取。
這使得應用程式響應速度更快、可擴充性更高、成本更低。
2.描述
緩存預取用于寫入優化和讀取優化工作負載之間的連續複制。
通過這種緩存模式,應用程式的寫入直接發生到資料庫。
當資料在記錄系統中發生變化時,資料會使用內建的 CDC 複制到 Redis Enterprise,是以資料會在應用程式需要讀取之前到達緩存。
3.緩存預取如何與 Redis Enterprise配合使用?
應用程式将資料直接寫入其原始記錄系統。
當資料在記錄系統中發生更改時,內建 CDC 會将資料複制到 Redis Enterprise 緩存。最終效果是資料在應用程式請求資料之前到達,以便執行資料庫讀取。
然後應用程式直接從 Redis Enterprise 讀取。
03 随心緩存
許多軟體項目都是從基層應用程式開始的。一旦成功,它們就會發展成為成千上萬人依賴的廣泛系統。随着使用者數量、資料量和地理位置的增加,成本、可擴充性、操作和系統可用性問題也随之增加。
大多數緩存缺乏緩解這些問題的功能。開發人員花時間旋轉輪子或重新發明這些輪子,這并沒有很好地利用他們的時間一特别是當這些精力更好地花在改進創新軟體上時。Redis開源提供的緩存很棒,我們為此感到自豪- 但在某些時候,投資由具有主題專業知識的人員建構的工具是有意義的。
能更新到更好的緩存解決方案可能會阻礙業務增長,導緻資料丢失或應用程式性能不佳,并導緻 Redis産生大量工作和費用的機會成本。更新到企業級緩存對于實作和支援業務增長至關重要。
Redis Enterprise 是唯一提供以下功能的企業級緩存:
l 靈活性:單一資料平台,可與本地、混合環境或任何雲中的現有基礎設施無縫協作
l 可擴充性:輕松擴充,在每秒數百萬次操作的情況下保持亞毫秒級延遲
l 高可用性:具有五個九的 SLA,在支援關鍵任務應用程式方面表現出色
l 成本效益:緩存大型資料集時,存儲分層可節省高達 80%的基礎設施成本
l 簡單:與現有架構一起工作,支援各種緩存模式 (無需重新架構或重新平台) ,并因易于使用而享有盛譽
Redis 已經解決了幾乎所有類型的緩存問題。随着我們開發這種專業知識,我們建構了使客戶更輕松地進行緩存的功能。借助 Redis Enterprise,我們可以處理緩存隐藏的複雜性,是以您不必自己處理。
虹科《用于緩存的Redis企業版》通過旁路緩存、查詢緩存、後寫式緩存等5個用例探索了虹科Redis企業版在緩存應用程式中的強大功能。下面是白皮書節選部分:
虹科是Redis原廠的中國區戰略合作夥伴。我們持續關注各行業當下急切需求,專注于為企業解答疑問,制定專屬服務,提供一站式資料庫和商業智能解決方案。了解更多【企業級資料庫解決方案】及【企業緩存指南】,歡迎前往虹科雲科技官網!