在如今并發的環境下,對大資料量的查詢采用緩存是最好不過的了,本文使用redis搭建叢集
(個人喜歡redis,對memcache不感冒)
redis是3.0後增加的叢集功能,非常強大
叢集中應該至少有三個節點,每個節點有一備份節點。這樣算下來至少需要6台伺服器
考慮到有些朋友的電腦組態不是很高,跑多個虛拟機就會卡,這邊放出僞分布式和分布式
(2年前的配置)
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuQjM1gjMlljZ0UzNiljN4kjN5QzN2UTNyImMmVDZxUmMfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
前提先裝好一個單例情況下的redis(這裡就不多說了)
需要6個redis執行個體
搭建叢集的步驟:
在/usr/local下 建立檔案夾
這個我是把原來的單例redis改了個名字做的
進入redis01/bin
删除dump檔案
修改端口
打開注釋
複制多份
(真實環境下隻需要一個就行,然後其餘5台機子重複以上操作)
指定端口從7001到7006
這是真實環境下的
占用率
在redis源碼檔案夾下的src目錄下。redis-trib.rb,這個ruby腳本
第四步:把redis-trib.rb檔案複制到到redis-cluster目錄下。
(真實環境下,隻需要放在你某個節點機子上就行,他會自動周遊到其他的節點上的,我做的時候放在了01上)
執行ruby腳本之前,需要安裝ruby環境,不然裝不了
yum install ruby
yum install rubygems
安裝redis-trib.rb運作依賴的ruby的包
這個gem可以網上下載下傳,很多
(真實環境下隻需要在其中一台機子上運作就行了)
進入各自的redis檔案夾,分别啟動所有的redis執行個體
啟動成功
使用redis-trib.rb建立叢集
不管是不是僞分布式,這隻需要啟動一次
成功~!
連結第一個節點
下面示範使用jedis來讀寫緩存
當然加入spring中一定要使用單例
運作結果:
可以看到redis用戶端上取資料的時候IP是不一樣的