【虹科乾貨】談談Redis Enterprise實時搜索的過人之處

来源:https://www.cnblogs.com/hongcloudtech/archive/2023/10/24/17784910.html
-Advertisement-
Play Games

通過實時索引、查詢和全文搜索引擎,Redis Enterprise提供了更好的數據檢索解決方案。通過強大的搜索引擎助力,Redis Enterprise能在亞毫秒級的時間內提供結果,以增強客戶體驗並助力商業智能。 ...


我們都知道,用戶在使用應用程式時候,對於速度有著越來越高的要求,真可謂是“一秒也等不及”。而開發團隊又該怎樣來滿足這種對於實時性的期望呢?

 

文章速覽:

 

  • Redis Enterprise實時搜索的應用場景
  • 利用索引為開發人員帶來更好的體驗
  • Redis Enterprise實時搜索的優勢
  • 低延遲搜索的3種常見應用案例

 

 

現代應用程式的構建中,開發者和架構師更青睞於實時搜索,其能提供用戶滿意的性能。Redis Enterprise通過對各類查詢如全文搜索、複雜過濾表達式、輔助鍵查找、數字或地理範圍查找、聚合函數和搜索結果排序等建立指標以快速提供實時的結果。網路安全、欺詐檢測、金融服務、電子商務、游戲和許多其他領域應用程式的構建都依賴Redis Enterprise來實現規模化的即時搜索結果。

 

一、Redis Enrerprise實時搜索如何解決應用程式常見的挑戰

 

1.挑戰網路延遲,通常是實時搜索應用程式所面臨的主要挑戰,尤其是當數據需要遠距離傳輸時。

 

解決方案:Redis Enterprise可以在雲端和本地部署運行,提供數據本地化的能力,以確保在全球範圍內都能提供低延遲的搜索結果

 

 

 

2.挑戰:要做到快速搜索,需要具備快速讀取索引數據的能力。傳統的基於磁碟的資料庫,無法實現快速讀取海量數據,無法在能保持延遲低於毫秒級的同時,還能將其擴展到支持每秒數百萬次寫入的速度。

 

解決方案:RedisEnterprise基於記憶體方式運行,具有快速的讀取性能和可擴展性

 

 

 

3.挑戰:現代的軟體應用程式通常需要實時、且立即可使用的即時數據。緩慢的搜索引擎會迫使開發人員在使用數據之前進行預計算、預聚合或預操作等繁瑣的過程。經過一系列繁瑣的處理後,數據會失去其即時性,變為過時數據,失去準確性和可信度。過時的數據會使運營或實時分析失效。

 

解決方案:Redis可以在亞毫秒級的時間內返回搜索結果,保證數據的新鮮度,助力應用程式獲得更準確的結果。

 

 

 

4.挑戰:數據的併發能力允許多個用戶對單個資料庫在同一時刻進行讀寫操作。業務上,一些常見的分析用例要求每秒1,000多個查詢(QPS)的性能。另一方面,為了避免影響用戶的體驗,對於開發者而言,應用程式開發的指標之一就在於為終端用戶提供低於200毫秒延遲的服務。

 

解決方案:這些對併發性能的實際需求,基於磁碟的搜索引擎則無法提供足夠的併發性能,而這正是Redis Enterprise記憶體資料庫支持實時搜索的極佳用例。Redis Enterprise作為記憶體資料庫能支持跨多個資料庫分片,同時在低延遲響應的前提下,提供資料庫的搜索和查詢規模拓展能力,進而提供資料庫的高併發性和數據保護支持。

 

 

 

二、Redis索引為開發人員帶來更好的體驗

 

Redis二級索引允許開發人員對任何欄位創建索引,創建符合業務需要的數據視圖,提供更準確的搜索結果。無需額外修改應用程式代碼,二級索引還可以輕鬆創建並管理複雜的多欄位查詢。只要Redis索引被創建,就能保持對插入和修改數據的自動更新,不需要手動介入。

 

  • Sorted Sets無需額外的管理或分配,便能提供快速的查詢支持。
  • 不需要修改應用程式代碼,即可創建並使用Redis Enterprise資料庫的二級索引。
  • 全局自動索引功能確保索引的數據保持最新。
  • 自動維護索引,並允許您在集群資料庫中跨數據結構對輔助鍵進行查詢。
  • 不僅是鍵本身,還為值提供多種索引策略,包括全文搜索、地理位置索引、數字,或是標簽索引等。

 

 

 

三、Redis Enterprise搜索的優勢

 

1.提升客戶體驗:及時且準確的搜索結果,可以保持客戶的參與和忠誠。實時搜索、自動建議和分面搜索等強大的搜索特性,幫助用戶快速找到他們所需的內容。

 

2.更精準的業務智能:為了優化流程和服務,Redis能夠為實時分析提供即時的搜索結果。此外,Redis還能夠在高讀取和高寫入的場景中,保持高性能地處理常量數據和可變數據。

 

3.更低的成本:藉助使用記憶體資料庫技術和內置搜索引擎,能夠以更少的基礎設施花費來實現更多功能。

 

4.支持微服務架構:Redis Enterprise低延遲的搜索結果還支持微服務架構。Redis Enterprise會避免產生任何額外的延遲,進而避免任何會對用戶體驗不利的影響。

 

5.可拓展性支持:Redis Enterprise支持線性擴展數據攝入,將資料庫索引分佈到不同分片和地理位置,以支持實時搜索數千萬個鍵的用戶。

 

6.地理分散式部署:Redis多活地理分散式部署是一種數據彈性架構,其可以在多個數據中心分佈存儲資料庫信息,這些信息存儲在各自的獨立的,並且不位於同一個地區的集群和節點上。無論複製區域的數量和區域之間的距離如何,多活地理分散式部署都能確保面向本地提供低延遲的讀寫操作。

 

 

 

四、低延遲搜索的應用案例

 

有三種常見的應用用例必須使用低延遲搜索:實時分析主數據表查找360客戶視圖

 

1.實時分析

 

傳統資料庫對於實時分析和業務智能而言,其提供數據的速度太慢了。尤其當數據不斷變化時,傳統資料庫的查詢顯得過於緩慢且無法擴展。為了進行準確的實時分析,需要資料庫提供一致且高性能的搜索體驗Redis Enterprise可以作為記憶體數據平臺,可以將孤立的源資料庫整合,並根據這些源資料庫提供實時的指標,以回答諸如過去10分鐘內最暢銷的產品是什麼?的實時分析問題。

  

 

2.主數據表查找

 

許多應用程式,例如電子商務應用程式,需要對主數據表進行重覆且高速的查找。例如,產品主數據表可能包含每個產品的ID、產品名稱、描述和價格。當用戶購物時,他們同時訪問產品主數據表,計算其購物車的價值。隨著表格的增長,搜索過程往往變得緩慢,客戶體驗將受到影響。Redis Enterprise通過擴展實時搜索能力,以輕鬆消除這些常見的應用程式瓶頸。Redis Enterprise支持存儲數千萬個唯一標識符,並通過直觀且快速的自動建議和全文搜索功能提升客戶體驗。

  

 

3.360度客戶全景圖

 

提供實時客戶服務是一項頗具挑戰性的任務。在等待使用客戶服務時,請求經常會處於等待的過程中。客戶服務團隊和360度客戶視圖應用程式需要實時獲取有關客戶的信息。Redis Enterprise提供亞毫秒級的客戶查詢,將線上應用程式擴展到數千萬用戶。通過強大的聚合、過濾、分組和排序等命令,實時創建新的客戶觀察和摘要視圖。

 

 

 

 

 

 

 

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先,對於Ai-WB2系列環境的構建官方文檔已經講的非常明白了,這裡不做闡述如下鏈接所示https://blog.csdn.net/Boantong_/article/details/128480919 本人親自測試可行,請嚴格follow官方的steps。 另外需要註意的是,為了避免錯誤,儘量不要 ...
  • 開發板:STM32F407ZGT6; 目標:想使用軟體“串口調試助手” 情況:開發板上的USB_UART口所在器件損壞或者直接沒有; 解決辦法:查看該開發板的原理圖,可得:串口1的RX接TXD,串口1的TX接RXD,那麼按如下步驟操作:1、現在使用USB轉TTL模塊,將串口1的RX接USB轉TTL模 ...
  • @目錄1. 安裝 ocserv (OpenConnect server)2.生成證書1) 創建工作文件夾2) 生成 CA 證書3) 生成本地伺服器證書4) 生成客戶端證書(不生成)3. 配置 ocserv4.創建用戶5.配置系統設置1) 開啟內核轉發2) 配置iptables規則(不需要配置)3) ...
  • 前言 為了出門方便,我萌生出將Ubuntu放在U盤中的想法。我們都在硬碟上安裝Linux,我個人覺得在U盤上安裝和在硬碟上安裝步驟一致,因為U盤也可以分區使用。我的安裝方法為使用Ubuntu官方鏡像中的grub.efi作為引導,然後正常安裝,只是在安裝過程中的硬碟分區選擇U盤即可。 準備工作 安裝引 ...
  • atexit 處理器中再次調用 exit 為什麼能正常運行?atexit 處理器中再次調用 atexit 註冊的函數為什麼能正常被調用?帶著這些疑問來看看 glibc 是用什麼數據結構存儲終止處理器的,另外看看列印這些結構時遇到了哪些問題 ...
  • 1. 如何構建資料庫環境 1.1. 托管MySQL 1.2. VM上構建 1.3. 天下沒有免費的午餐,每一個選擇都伴隨著一系列的權衡 2. 托管MySQL 2.1. 服務商提供了一個可訪問的資料庫設置程式,而不需要用戶深入瞭解MySQL的具體細節 2.2. 使用托管MySQL將缺乏很多的可見性和控 ...
  • 緩存驅逐是指從緩存中刪除特定數據的過程。當緩存達到最大存儲容量時,必須刪除一些數據,為新數據騰出空間。本文將深入探討與緩存驅逐有關的細節,並就如何選擇合適的緩存驅逐策略給出建議。 ...
  • 如今,大規模、高時效、智能化數據處理已是“剛需”,企業需要更強大的數據平臺,來應對數據查詢、數據處理、數據挖掘、數據展示以及多種計算模型並行的挑戰,湖倉一體方案應運而生。 《實時湖倉實踐五講》是袋鼠雲打造的系列直播活動,將圍繞實時湖倉的建設趨勢和通用問題,邀請奮戰於企業數字化一線的核心產品&技術專家 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...