前提說明: redis可以通過修改記憶體的大小 實現資料的儲存.但是記憶體的資源不易設定的過大,因為很多的時間都浪費在記憶體的定址中.
需求: 如果有海量的資料,需要redis儲存 問:應該如何處理?
解決方案: 可以採用redis分片機制 實現記憶體資料的擴容.
知識點: 採用redis分片 主要的目的就是為了***實現記憶體擴容.從而解決海量資料儲存的問題***
1.建立shards目錄
2. 複製3份配置檔案 到shards中 每個redis都有各自的持久化檔案 所以名稱應該不相同
3.修改 各自的埠號
4. 修改 rdb模式的名稱
啟動 3臺 redis
}一致性雜湊演算法在2023年由麻省理工學院提出,是一種特殊的雜湊演算法,目的是解決分布式快取的問題。 [1] 在移除或者新增乙個伺服器時,能夠盡可能小地改變已存在的服務請求與處理請求伺服器之間的對映關係。一致性雜湊解決了簡單雜湊演算法在分布式雜湊表( distributed hash table,dht) 中存在的動態伸縮等問題 [2] 。
常識:一般的hash由8位16進製制數組成的. 共有2^32種可能性!!!
hash演算法對相同的資料進行hash運算時 結果必然相同.
00000000-ffffffff 0-f=(24)8 = 2^32
進製:1).二進位制 取值 : 0-1 規則滿2進1
2).八進位制 取值 : 0-7 規則滿8進1 2^3=8 每三位二進位制數就是乙個8進製數
3).十六進製制 取值 : 0-9 a-f 規則滿16進一 2^4=16 每四位二進位制數就是乙個16進製制數
準備 redis.pro檔案
# 配置單台redis
#redis.host=
192.168
.126
.129
#redis.port=
6379
# 配置多台redis
redis.nodes=
192.168
.126
.129
:6379
,192.168
.126
.129
:6380
,192.168
.126
.129
:6381
編輯 配置類
@configuration
//標識我是配置類
@propertysource
("classpath:/properties/redis.properties"
)public
class
redisconfig")
private string nodes;
//node,node,node
/** * spring整合redis分片機制
*/@bean
public shardedjedis shardedjedis()
shardedjedis shardedjedis =
newshardedjedis
(shards)
;return shardedjedis;
}
分片機制 aop 應用
@autowired
private shardedjedis shardedjedis;
/** * 在linux中 有3臺 redis 需要通過程式 動態鏈結
* 實現資料儲存
*/@test
void
test01()
}
redis學習記錄08 分片
redis的分片 sharding或者partitioning 技術是指將資料分散到多個redis例項中的方法,分片之後,每個redis擁有一部分原資料集的子集。在資料量非常大時,這種技術能夠將資料量分散到若干主機的redis例項上,進而減輕單台redis例項的壓力。分片技術能夠以更易擴充套件的方式...
Mongo伺服器集群配置學習三 分片
mongodb的分片主要是指將集合拆分成小塊並分別存在不同伺服器上的過程。mongodb支援自動分片,可擺脫手動分片管理上的困難。在以下情況下需要運用分片 1.伺服器的磁碟不夠用。2.單個mongod不能滿足寫資料的效能需求。3.需要將大資料放入記憶體中提高效能。下圖為我們要實現的分片結構 從圖中我...
mycat學習 4 分片JOIN,分片規則
mycat 支援跨分片join,主要有四種方法 1 全域性表 字典表 變動不頻繁,資料量總體變化不大,資料規模不大很少超過10w條記錄 可以做為全域性表 特性 1 全域性表的插入,更新操作會實時在所有節點上執行,保持各個分片的資料一致性。沒有太激烈的update操作。2 全域性表查詢只從乙個節點獲取...