redis是非關係型資料庫,使用key value結構做儲存
redis支援了string,list,hash,set,zset5種型別。
以下是一些基礎結構
1.string結構
sds結構,執行緒安全,防止溢位,惰性空間釋放
2.list結構
雙端,無環
3.dictionary結構
hash表實現,可以參考hashmap的實現
漸進rehash,新建b,然後後續使用的時候,慢慢從a->b
4.跳躍表
有序集合的實現
5.壓縮列表
是列表鍵和雜湊鍵的底層實現支援。
物件型別
1.字串物件
編碼規則為int/raw/embstr
2.列表物件
編碼規則為ziplist/linkedlist
3.雜湊物件物件
編碼規則為intset/hashtable
4.有序集合物件
編碼可以是ziplist/skiplist
redis使用集群
集群通過使用分片來進行資料共享
乙個集群包括多個節點(node)
建立集權的方式
1.集群建立的時候將多個節點進行連線。採取cluster meet ip port 來將其連線,具體方式看下圖
2.乙個概念叫做槽指派
每個資料庫都有16384個槽(slot),當資料庫確認0-16384能夠正常處理的時候,集群處於ok
本質上是hash一致性的實現。但是與普通的實現不同的是,solt是虛擬的。可能nx-ny一段給某個機器節點使用。
保證高可用
Elasticsearch 概念和集群
儲存資料到 elasticsearch 的行為叫做 索引 indexing 關於資料的概念 relational db databases 資料庫 tables 表 rows 行 columns 列 elasticsearch indices 索引庫 types 型別 documents 文件 fi...
redis 集群雜湊槽的概念
redis 集群中內建了16384個雜湊槽,當需要在 redis 集群中放置乙個 key value時,redis 先對 key 使用 crc16 演算法算出乙個結果,然後把結果對 16384 求餘數,這樣每個 key 都會對應乙個編號在 0 16383 之間的雜湊槽,redis 會根據節點數量大致...
Redis集群(一) 基本概念
一 使用版本 3.0.0.0 二 基本概念 redis 集群是乙個可以 在多個 redis 節點之間進行資料共享 的設施 installation redis 集群使用資料分片 sharding 而非一致性雜湊 consistency hashing 來實現 乙個 redis 集群包含 16384 ...