鍍金池/ 教程/ 大數(shù)據(jù)/ Redis分區(qū)
C#連接Redis
Redis基準
Redis數(shù)據(jù)類型
Windows下安裝Redis
Redis事務
Redis腳本
Redis配置
Redis客戶端連接
Redis字符串
Redis管道
PHP連接Redis
Redis快速入門
Redis命令
Redis教程
Redis哈希
Redis環(huán)境安裝配置
Redis分區(qū)
Redis備份
Redis發(fā)送訂閱
Redis連接
Redis服務器
Redis集合
Redis鍵命令
Redis HyperLogLog
Java連接Redis
Redis列表

Redis分區(qū)

分區(qū)是將數(shù)據(jù)拆分為多個Redis實例的過程,因此每個實例只包含一部分鍵。

分區(qū)的優(yōu)點

  • 它允許更大的數(shù)據(jù)庫,使用更多計算機的內(nèi)存總和。如果沒有分區(qū),則限制為單個計算機可以支持的內(nèi)存量。
  • 它允許將計算能力擴展到多個核心和多個計算機,并將網(wǎng)絡(luò)帶寬擴展到多個計算機和網(wǎng)絡(luò)適配器。

分區(qū)的缺點

  • 通常不支持涉及多個鍵的操作。 例如,如果兩個集合存儲在映射到不同Redis實例的鍵中,則不能執(zhí)行兩個集合之間的交集操作。
  • 不能使用涉及多個鍵的Redis事務。
  • 分區(qū)粒度是關(guān)鍵,因此不可能使用單個巨大的鍵(如非常大的排序集合)來分割數(shù)據(jù)集。
  • 使用分區(qū)時,數(shù)據(jù)處理更復雜。 例如,必須處理多個RDB/AOF文件,并獲得數(shù)據(jù)的備份,您需要聚合來自多個實例和主機的持久性文件。
  • 添加和刪除容量可能很復雜。 例如,Redis Cluster支持大多數(shù)透明的數(shù)據(jù)重新平衡,具有在運行時添加和刪除節(jié)點的能力。但是,其他系統(tǒng)(如客戶端分區(qū)和代理)不支持此功能。但可以使用一種叫作Presharding的技術(shù)來處理這方面的問題。

分區(qū)類型

Redis中有兩種類型的分區(qū)。假設(shè)有四個Redis實例:R0,R1,R2,R3以許多代表用戶的鍵,如user:1,user:2,…等等。

范圍分區(qū)

范圍分區(qū)通過將對象的范圍映射到特定的Redis實例來實現(xiàn)。假設(shè)在上面示例中,從ID 0到ID 10000的用戶將進入實例R0,而從ID 10001到ID 20000的用戶將進入實例R1,以此類推。

哈希分區(qū)

在這種類型的分區(qū)中,使用散列函數(shù)(例如,模函數(shù))將鍵轉(zhuǎn)換成數(shù)字,然后將數(shù)據(jù)存儲在不同的Redis實例中。


上一篇:Redis教程下一篇:C#連接Redis