Bloom 篩選條件入門 - Amazon ElastiCache

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Bloom 篩選條件入門

ElastiCache 支援 Bloom 篩選資料結構,可提供空間效率高的概率資料結構,以檢查 元素是否為集合的成員。使用 Bloom 篩選條件時,可能是誤報 - 篩選條件可能不正確地指出 元素存在,即使該元素未新增至集合。不過,使用 Bloom 篩選條件可以防止誤,不正確地指出 元素不存在,即使該元素已新增至集合。

您可以透過調整 fp 速率,將潛在的誤報百分比設定為工作負載的偏好速率。您也可以設定容量 (Bloom 篩選條件可以容納的項目數量)、擴展和非擴展屬性等。

使用支援的引擎版本建立叢集之後,Bloom 資料類型和相關聯的命令會自動可用。bloom 資料類型與官方 Valkey 用戶端程式庫的 Bloom filter 命令語法相容,包括 valkey-pyvalkey-javavalkey-go。您可以輕鬆將現有的 Bloom 型 Valkey 和 Redis OSS 應用程式遷移至 ElastiCache。如需命令的完整清單,請參閱 Bloom 篩選條件命令

Bloom 相關指標 BloomFilterBasedCmdsBloomFilterBasedCmdsLatencyBloomFilterBasedCmdsECPUs 會併入 CloudWatch,以監控此資料類型的使用情況。如需詳細資訊,請參閱Valkey 和 Redis OSS 的指標

注意
  • 若要使用 Bloom 篩選條件,您必須在 ElastiCache Valkey 8.1 和更新版本上執行。

  • Bloom 資料類型與其他非 Valkey 型 Bloom 產品不相容。

Bloom 篩選條件資料類型概觀

Bloom 篩選條件是一種空間高效的概率資料結構,允許新增元素並檢查元素是否存在。如果篩選條件不正確地指出 元素存在,即使未新增,也可能出現誤報。不過,Bloom Filters 保證不會發生誤判 (錯誤表示元素不存在,即使已新增)。

如需 Bloom 篩選條件的主要文件來源,請參閱 https://valkey.io 文件頁面。這包含下列資訊:

Bloom 大小限制

單一 Bloom 篩選條件物件的記憶體使用量限制為 128 MB。您可以使用 BF.INFO <key> SIZE命令,檢查 Bloom 篩選條件耗用的記憶體量。

Bloom ACLs

與現有的每個資料類型類別 (@string、@hash 等) 類似,新增了新類別 @bloom,以簡化對 Bloom 命令和資料的管理存取。沒有其他現有的 Valkey 或 Redis OSS 命令是 @bloom 類別的成員。

已更新 3 個現有的 ACL 類別,以包含新的 Bloom 命令:@read、@write 和 @fast。下表指出 Bloom 命令與適當類別的映射。

Bloom 命令 @read @write @fast @bloom

BF.ADD

y

y

y

BF.CARD

y

y

y

BF.EXISTS

y

y

y

BF.INFO

y

y

y

BF.INSERT

y

y

y

BF.MADD

y

y

y

BF.MEXISTS

y

y

y

BF.RESERVE

y

y

y

Bloom 篩選條件相關指標

提供與 Bloom 資料結構相關的下列 CloudWatch 指標:

CW 指標 單位 無伺服器/自行設計 描述

BloomFilterBasedCmds

計數

兩者

Bloom 篩選條件命令的總數,包括讀取和寫入命令。

BloomFilterBasedCmdsLatency

微秒

自我管理

所有 Bloom 篩選條件命令的延遲,包括讀取和寫入命令。

BloomFilterBasedCmdsECPUs

計數

無伺服器

所有 Bloom 篩選條件命令使用的 ECPUs,包括讀取和寫入命令。

Bloom 篩選條件命令

Bloom Filter 命令會記錄在 Valkey.io 網站上。每個命令頁面都提供 Bloom 命令的完整概觀,包括其語法、行為、傳回值和潛在的錯誤條件。

名稱 描述
BF.ADD

將單一項目新增至 Bloom 篩選條件。如果篩選條件不存在,則會建立。

BF.CARD

傳回 Bloom 篩選條件的基數。

BF.EXISTS

決定 Bloom 篩選條件是否包含指定的項目。

BF.INFO

傳回特定 Bloom 篩選條件的用量資訊和屬性。

BF.INSERT

建立具有 0 個或更多項目的花粉篩選條件,或將項目新增至現有的花粉篩選條件。

BF.MADD

將一或多個項目新增至花粉篩選條件。

BF.MEXISTS

決定 Bloom 篩選條件是否包含 1 個或多個項目。

BF.RESERVE

建立具有指定屬性的空花篩選條件。

注意

ElastiCache 不支援 BF.LOAD。它僅適用於 ElastiCache 不支援的 AOF 用量。