Redis 4.0集群配置

Redis 集群,官方方案需要6個(gè)節(jié)點(diǎn),3個(gè)主3個(gè)從。

  1. 安裝依賴軟件
安裝:ruby
  yum -y install ruby
安裝:rubygems-2.7.4.tgz
  https://rubygems.org/rubygems/rubygems-2.7.4.tgz
  tar -xzvf rubygems-2.7.4.tgz
  cd rubygems-2.7.4
  ruby setup.rb
安裝:redis-4.0.1.gem
  https://rubygems.org/downloads/redis-4.0.1.gem
  gem install -l ./redis-4.0.1.gem
  1. 安裝redis
安裝:redis
  http://download.redis.io/releases/redis-4.0.6.tar.gz
  tar -xzvf redis-4.0.6.tar.gz
  cd redis-4.0.6
  make
  1. 集群配置
  cd redis-4.0.6
  mkdir -p clus/6401 clus/6402 clus/6403 clus/6404 clus/6405 clus/6406
  cp redis.conf clus/6401  其它目錄個(gè)一份配置文件
  vi clus/6401/redis.conf
    daemonize yes
    port 6401
    bind 127.0.0.1
    cluster-enabled yes
    cluster-config-file /opt/redis-4.0.6/clus/6401/nodes-6401.conf
    cluster-node-timeout 5000
    slave-serve-stale-data yes
    dir /opt/redis-4.0.6/clus/6401/
    dbfilename dump.rdb
    appendonly yes
    appendfilename "appendonly.aof"
  其它幾個(gè)端口的配置文件,參照以上替換6401為6402...6406的端口即可
  1. 創(chuàng)建集群
啟動(dòng)節(jié)點(diǎn):節(jié)點(diǎn)需要加入進(jìn)去,必須先啟動(dòng)
  /opt/redis-4.0.6/src/redis-server /opt/redis-4.0.6/clus/6401/redis.conf
  /opt/redis-4.0.6/src/redis-server /opt/redis-4.0.6/clus/6402/redis.conf
  /opt/redis-4.0.6/src/redis-server /opt/redis-4.0.6/clus/6403/redis.conf
  /opt/redis-4.0.6/src/redis-server /opt/redis-4.0.6/clus/6404/redis.conf
  /opt/redis-4.0.6/src/redis-server /opt/redis-4.0.6/clus/6405/redis.conf
  /opt/redis-4.0.6/src/redis-server /opt/redis-4.0.6/clus/6406/redis.conf

創(chuàng)建集群:集群只需創(chuàng)建一次,以后只需啟動(dòng)節(jié)點(diǎn)即可。正常情況,執(zhí)行以下命令后,會(huì)提示集群創(chuàng)建的結(jié)果,其中包含三個(gè)master和三個(gè)slave節(jié)點(diǎn)。
  /opt/redis-4.0.6/src/redis-trib.rb create --replicas 1 127.0.0.1:6401 127.0.0.1:6402 127.0.0.1:6403 127.0.0.1:6404 127.0.0.1:6405 127.0.0.1:6406
  1. 集群測(cè)試
連接其中一臺(tái)redis,要帶 -c 參數(shù),進(jìn)行設(shè)置值,再連接另外任意節(jié)點(diǎn)進(jìn)行查看,測(cè)試成功,連接命令:
  /opt/redis-4.0.6/src/redis-cli -c -p 6401
  1. JAVA連接集群
maven配置依賴:
<dependency>
    <groupId>redis.clients</groupId>
     <artifactId>jedis</artifactId>
    <version>2.9.0</version>
 </dependency>
客戶端代碼:
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(100000);
config.setMaxIdle(5);
config.setMaxWaitMillis(1000 * 100);
config.setTestOnBorrow(true);
// 定義集群信息
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
shards.add(new JedisShardInfo("127.0.0.1", 6401));
shards.add(new JedisShardInfo("127.0.0.1", 6402));
shards.add(new JedisShardInfo("127.0.0.1", 6403));
shards.add(new JedisShardInfo("127.0.0.1", 6404));
shards.add(new JedisShardInfo("127.0.0.1", 6405));
shards.add(new JedisShardInfo("127.0.0.1", 6406));
 // 定義集群連接接池
ShardedJedisPool shardedJedisPool = new ShardedJedisPool(config,shards);
// 連接池中獲取連接
ShardedJedis redis = pool.getResource();
redis.set("name", "finish");
String val = redis.get("name");
redis.close();
System.out.println(val);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 Redis介紹1.1 什么是NoSql為了解決高并發(fā)、高可擴(kuò)展、高可用、大數(shù)據(jù)存儲(chǔ)問(wèn)題而產(chǎn)生的數(shù)據(jù)庫(kù)解決方...
    克魯?shù)吕?/span>閱讀 5,745評(píng)論 0 36
  • NOSQL類型簡(jiǎn)介鍵值對(duì):會(huì)使用到一個(gè)哈希表,表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù),如redis,volde...
    MicoCube閱讀 4,168評(píng)論 2 27
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評(píng)論 19 139
  • A1、朋友結(jié)婚,我因?yàn)槁吠咎h(yuǎn)去不了現(xiàn)場(chǎng),于是編了各種借口不想去。最終我跟朋友說(shuō),因?yàn)槲覀児緞偤媚翘煲獊?lái)一波外賓...
    305號(hào)陽(yáng)光閱讀 224評(píng)論 3 0
  • 審心 讓心站在一條水平線的盡頭, 找到孤獨(dú)的邊緣; 拋棄所有的悲傷,拋棄所有的空虛, 忘掉不可重演的過(guò)去; 讓心站...
    賀卿茵閱讀 493評(píng)論 3 4

友情鏈接更多精彩內(nèi)容