Redis的安裝及建立節點、部署群集
Redis簡介
Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。
Redis有著更為複雜的資料結構並且提供對他們的原子性操作,這是一個不同於其他資料庫的進化路徑。Redis的資料型別都是基於基本資料結構的同時對程式設計師透明,無需進行額外的抽象。
Redis執行在記憶體中但是可以持久化到磁碟,所以在對不同資料集進行高速讀寫時需要權衡記憶體,應為資料量不能大於硬體記憶體。在記憶體資料庫方面的另一個優點是, 相比在磁碟上相同的複雜的資料結構,在記憶體中操作起來非常簡單, 同時,在磁碟格式方面他們是緊湊的以追加的方式產生的,因為他們並不需要進行隨機訪問。
Redis定義
redis是一個key-value儲存系統。它支援儲存的value型別相對更多,包括string(字串)、list(連結串列)、set(集合)、zset(sorted set –有序集合)和hash(雜湊型別)。這些資料型別都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,redis支援各種不同方式的排序。與memcached一樣,為了保證效率,資料都是快取在記憶體中。區別的是redis會週期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)同步。
Redis 是一個高效能的key-value資料庫。 redis的出現,很大程度補償了memcached這類key/value儲存的不足,在部 分場合可以對關聯式資料庫起到很好的補充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便。
Redis支援主從同步。資料可以從主伺服器向任意數量的從伺服器上同步,從伺服器可以是關聯其他從伺服器的主伺服器。同步對讀取操作的可擴充套件性和資料冗餘很有幫助。
Redis儲存
redis使用了兩種檔案格式:全量資料和增量請求。
全量資料格式是把記憶體中的資料寫入磁碟,便於下次讀取檔案進行載入;
增量請求檔案則是把記憶體中的資料序列化為操作請求,用於讀取檔案進行replay得到資料,序列化的操作包括SET、RPUSH、SADD、ZADD。
Redis群集
Redis 是一個開源的 key-value 儲存系統,由於出眾的效能,大部分網際網路企業都用來做伺服器端快取。Redis 在3.0版本前只支援單例項模式,雖然支援主從模式、哨兵模式部署來解決單點故障,但是現在網際網路企業動輒大幾百G的資料,可完全是沒法滿足業務的需求,所以,Redis 在 3.0 版本以後就推出了叢集模式。
Redis 叢集採用了P2P的模式,完全去中心化。Redis 把所有的 Key 分成了 16384 個 slot,每個 Redis 例項負責其中一部分 slot 。叢集中的所有資訊(節點、埠、slot等),都通過節點之間定期的資料交換而更新。
Redis 客戶端可以在任意一個 Redis 例項發出請求,如果所需資料不在該例項中,通過重定向命令引導客戶端訪問所需的例項。
下面說一下 Redis 叢集搭建規劃,由於叢集至少需要6個節點(3主3從模式), 我本地也起不了那麼多虛擬機器 , 計劃是在一臺機器上模擬一個叢集, 這和生產環境的叢集搭建沒本質區別。
Redis安裝
建立多節點
建立例項目錄
複製執行指令碼
複製一個新 Redis 例項
cp -rf 命令是不使用別名來複制
分別修改6380 、6381、6382、6383、6384節點配置檔案
開啟所有節點服務(&是後臺執行)
登入隨便一個節點驗證 確認節點服務可以正常登陸
安裝群集需要的 ruby環境
由於 Redis 叢集需要使用 ruby 命令,所以我們需要安裝 ruby 和相關介面。
安裝rubygem redis依賴:
安裝 redis-trib.rb:
安裝完成ruby環境 執行下面命令確認是否正常
建立群集
簡單解釋一下這個命令:呼叫 ruby 命令來進行建立叢集,–replicas 1 表示主從複製比例為 1:1,即一個主節點對應一個從節點;然後,預設給我們分配好了每個主節點和對應從節點服務,以及 solt 的大小,因為在 Redis 叢集中有且僅有 16383 個 solt ,預設情況會給我們平均分配,當然你可以指定,後續的增減節點也可以重新分配。
# /usr/local/redis-cluster/bin/redis-trib.rb create –replicas 1 192.168.86.130:6379 192.168.86.130:6380 192.168.86.130:6381 192.168.86.130:6382 192.168.86.130:6383 192.168.86.130:6384
(yes)
驗證
通過客戶端命令連線上,通過叢集命令看一下狀態和節點資訊等。
歡迎工作一到五年的Java工程師朋友們加入Java架構開發:744677563
本群提供免費的學習指導 架構資料 以及免費的解答
不懂得問題都可以在本群提出來 之後還會有職業生涯規劃以及面試指導
相關文章
- linux下安裝redis 單節點安裝操作步驟LinuxRedis
- Ansible的安裝及部署
- Sqlserver 2014 alwayson故障轉移群集節點被踢出群集SQLServer
- kubernetes環境部署單節點redisRedis
- Redis Manager 建立 Redis Cluster —— Docker 安裝RedisDocker
- redis7.2 安裝部署Redis
- RocketMQ安裝及部署MQ
- Redis的安裝及基本使用Redis
- Redis Manager 建立 Redis Cluster —— 機器安裝Redis
- redis 簡介及windows 下的redis 安裝RedisWindows
- 多節點ipfs安裝
- 2節點RAC安裝
- greenplum單節點安裝
- Redis 偽分散式安裝部署配置Redis分散式
- ubuntu20安裝docker、redis、mysql及部署net6應用UbuntuDockerRedisMySql
- Windows下安裝Redis及使用Python操作Redis的方法WindowsRedisPython
- Apache安裝部署及工作模式Apache模式
- Chaosblade簡介及安裝部署
- Flume安裝及簡單部署
- vertica單節點安裝教程
- Redis的安裝及在Java中的使用RedisJava
- php安裝redis擴充套件及操作redisPHPRedis套件
- MySQL——MHA高可用群集部署及故障測試MySql
- MySQL高可用群集MHA部署及故障測試分析MySql
- nginx 特點及安裝Nginx
- Docker Linux快速安裝及Nginx部署DockerLinuxNginx
- docker安裝elasticsearch及kibana部署、操作DockerElasticsearch
- 【ubuntu】22.04安裝Redis Insight及AnotherRedisDesktopManagerUbuntuRedis
- redis安裝及問題解決Redis
- Kubernetes-基於Helm安裝部署高可用的RedisRedis
- Redis系列(一):Redis簡介及環境安裝Redis
- redis sentinel哨兵模式安裝部署和切換Redis模式
- PinPoint單節點部署及客戶端配置方法客戶端
- SQLServer2012對現有AlwaysOn群集新加節點SQLServer
- Jedis操作單節點redis,叢集及redisTemplate操作redis叢集(一)Redis
- redis哨兵模式的原理及部署Redis模式
- Flume1.7.0下載及安裝部署
- linux安裝nodejs及服務部署(二)LinuxNodeJS