當前位置:編程學習大全網 - 源碼下載 - Credis源代碼

Credis源代碼

壹. Redis集群介紹

Redis確實是壹項優秀的技術。它是壹個鍵值NoSQL內存數據庫,由ANSI C編寫,遵守BSD協議,支持網絡,可以基於內存,可以持久化,提供多種語言的API的基於日誌和鍵值的數據庫。Redis最大的特點就是會把所有的數據都放在內存中,所以讀寫速度表現非常好。Redis基於內存,性能較高,可以在壹定程度上解決網站的瞬時並發,比如搶購商品、秒殺等活動。

網站在承受高並發訪問壓力的同時,還需要從海量數據中查詢出符合條件的數據,這就要求響應速度快。前端發送請求,後端與mysql數據庫交互進行sql查詢操作,讀寫較慢。此時引入Redis,將mysql中的數據緩存到Redis中,下次讀取時性能會有所提升。當然,它還支持將內存中的數據以快照和日誌的形式持久化到硬盤上,這樣即使在停電、機器故障等異常情況下,數據也不會丟失,Redis可以將快照數據從硬盤恢復到內存中。

Redis發布了5.0版本的穩定版,放棄了Ruby的集群模式,使用C語言編寫的redis-cli,大大降低了集群構建的復雜度。Redis-Cluster采用無中心結構,每個節點存儲數據和整個集群狀態,每個節點與所有其他節點相連。

為了保證數據的高可用性,增加了主從模式。壹個主節點對應壹個或多個從節點,主節點提供數據訪問,從節點從主節點拉數據備份。當主節點掛起時,將選擇壹個從節點作為主節點,從而確保集群不會掛起。

Redis-cluster投票:容錯。投票過程涉及集群中的所有主機。如果超過壹半的主節點與主節點通信超過(cluster-node-timeout),則認為當前主節點被掛起。

集群中至少應該有奇數個節點,所以至少有三個節點,每個節點至少有壹個備份節點,所以使用以下六個節點(主節點和備份節點由redis-cluster確定)。六個節點分布在壹臺機器上,采用三主三從的模式。在實際應用中,最好使用多臺機器,比如將六個節點分布到三臺機器上。在構建集群時,redis自動將主節點和從節點分配給不同的機器。

第二,獨立的redis模式

下載源代碼redis5.0並解壓編譯。

wget http://download.redis.io/releases/redis-5.0.0.tar.gz

塔爾xzf redis-5.0.0.tar.gz

cd redis-5.0.0

制造

Redis前端啟動需要改為後臺啟動。

修改redis.conf文件,並更改守護進程編號->;是啊

vim redis.conf

啟動redis

/www/server/redis/src/redis-server/www/server/redis/redis . conf

看看redis是否在運行。

ps aux|grep redis

現在單機redis模式完成了。

第三,redis集群模式:

1.創建6個Redis配置文件。

cd /usr/local/

Mkdir redis_cluster //創建集群目錄

cd redis_cluster

mkdir 7000 7001 7002 7003 7004 7005//分別代表6個節點。

它對應於端口7000 7001 7002 70037004 7005。

2.將配置文件復制到每個目錄。

CP/www/server/redis/redis . conf/usr/local/redis _ cluster/7000/

CP/www/server/redis/redis . conf/usr/local/redis _ cluster/7001/

CP/www/server/redis/redis . conf/usr/local/redis _ cluster/7002/

CP/www/server/redis/redis . conf/usr/local/redis _ cluster/7003/

CP/www/server/redis/redis . conf/usr/local/redis _ cluster/7004/

CP/www/server/redis/redis . conf/usr/local/redis _ cluster/7005/

3.分別修改配置文件

vim/usr/local/redis _ cluster/7000/redis . conf

vim/usr/local/redis _ cluster/7001/redis . conf

vim/usr/local/redis _ cluster/7002/redis . conf

vim/usr/local/redis _ cluster/7003/redis . conf

vim/usr/local/redis _ cluster/7004/redis . conf

vim/usr/local/redis _ cluster/7005/redis . conf

如下

端口7000 #端口

啟用集群是#啟用集群模式。

cluster-config-file nodes _ 7000 . conf #的配置文件第壹次開始自動生成。

群集節點超時5000 #超時5秒。

Appendonly yes #打開日誌記錄。它將為每個寫操作記錄壹個日誌。

後臺運行

保護模式編號#無保護模式

pidfile /var/run/redis_7000.pid

//下面就不用寫了。

#如果設置了密碼,主機和從機需要同時配置以下兩個參數:

Masterauth "jijiji" #連接到主機的密碼

要求輸入您自己的密碼

Cluster-config-file,port,pidfile對應的編號。

4.啟動節點

cd /www/server/redis/src/

。/redis-server/usr/local/redis _ cluster/7000/redis . conf

。/redis-server/usr/local/redis _ cluster/7001/redis . conf

。/redis-server/usr/local/redis _ cluster/7002/redis . conf

。/redis-server/usr/local/redis _ cluster/7003/redis . conf

。/redis-server/usr/local/redis _ cluster/7004/redis . conf

。/redis-server/usr/local/redis _ cluster/7005/redis . conf

查看redis操作

ps aux|grep redis

5.啟動集群

/www/server/redis/src/redis-CLI-cluster create 127 . 0 . 0 . 1:7000 127 . 0 . 0 . 1 127 . 0 . 0 . 1:7002 127 . 0 . 0 . 1:70000 . 0 . 1:7004 127 . 0 . 0 . 1:7005-群集副本1

這裏使用的命令是create,因為我們想要創建壹個新的集群。這個選項-cluster-replicate1意味著我們希望每個創建的主服務器都有壹個從服務器。

輸入是

至此,Reids5集群完成。

6.檢查Reids5集群的狀態。

您可以執行redis-CLI-cluster check host:port來檢查集群狀態插槽的詳細分配情況。

redis-cli -集群信息127.0.0.1:7000

7.停止Reids5集群。

(1).因為Redis可以妥善處理SIGTERM信號,所以也有可能直接kill -9。可以同時擊殺多次,然後依次啟動。

kill-9 PID PID PID PID

(2).redis5提供關閉集群的工具,修改文件:/www/server/redis/utils/create-cluster/create-cluster。

當端口PROT設置為6999,節點設置為6時,該工具將生成7000-7005個節點進行操作。

修改後,執行以下命令關閉集群:

/www/server/redis/utils/create-cluster/create-cluster stop

重新啟動群集:

/www/server/redis/utils/create-cluster/create-cluster start

8.幫助信息

執行redis-cli - cluster help以查看更多幫助信息。

redis-cli -集群幫助

紀海波

  • 上一篇:大格局媽媽養好孩子必做的事
  • 下一篇:北京源碼資本投資有限公司怎麽樣?
  • copyright 2024編程學習大全網