まず、Redis-Clusterフォルダーを作成します。
Redisには少なくとも6つのノード(3つのマスターと3つの奴隷)が必要なため、理解を深めるために、ここで2つの仮想マシン(192.168.0.109 192.168.0.110)を作成し、2つの仮想機械の/opt/redis-4.0.1/redis-Clusterの下で3つのノードフォルダーを作成しました。
192.168.0.109:
192.168.0.110:
上記の6つのノードはすべて作成され、Redis.Conf構成ファイルがこれらの6つのフォルダーに作成され、構成は図に示されています。
ポート7000BIND 192.168.0.109DAEMONIZE YESPIDFILE /VAR/RUN/REDIS_7000.PIDCLUSTER-EXCLUSTER-CLUSTERCONFIG-FILE NODES_7000.CONFCLUSTER-NODE-TIMEOUT 10000APPENDONLYはい
その中で、ポートPIDFILE CLUSTER CLUSTER-CONFIGファイルをノードポート番号に一貫して変更し、リモートアクセスのためにIPにバインドする必要があります。すべての変更が完了したら、Redisサービスを開始できます。
コマンドを開始します:
192.168.0.0.109に基づくコマンド: "for((i = 0; i <= 2; i ++)); do /opt/redis-4.0.1/src/redis-server/opt/redis-4.0.1/redis-cluster/700$i/redis.conf; done done"
192.168.0.110に基づくコマンド:「((i = 3; i <= 5; i ++))
ログ印刷はバックグラウンドモードで正常に開始され、マシンは2日間すべてのノードを順番に開始する必要があることがわかります。ノードが開始された後、クラスターサービスを作成できます。
仮想マシンのいずれかで次のコマンドを実行します "/opt/redis-4.0.1/src/redis-trib.rb Create - Replicas 1 192.168.0.109:7000 192.168.0.109:7001 192.168.0.109:7002 192.18.0.0.110:7003 192.168.0.110:7004 192.168.0.110:7005 "
1つのマシンでのみ実行することを忘れないでください。結合に閉じ込められていて、下方に実行できない場合、一般的にファイアウォールポートが禁止されていることが原因です。それを解決するには2つの方法があります。
1. 7000の外部ポートを開く必要があるだけでなく、17000を開く必要もあります(Redisバスポートを追加する必要があるため)。
2。すべてのファイアウォールを直接オフにします(私はここで自分の環境であるため、ファイアウォールサービスを直接オフにします)。
上記の画像実行ログが表示され、クラスターサービスが基本的に正常に構築されており、各ノードのマスタースレーブ関係をはっきりと見ることができます。環境が構築された後、前の記事で書いたSSMアーキテクチャと併せて使用します。
前回統合されたMyBaitsレベル2キャッシュは、スタンドアロンバージョンです。この方法はクラスターをサポートしていないため、Jedis-Clusterを使用してRedisクラスターとJavaを統合します。
まず、redis.propertiesファイルにクラスターマシンの構成を追加し、6つのノードを構成に追加します。
#クラスタcluster1.host.port = 192.168.0.109:7000cluster2.host.port = 192.168.0.109:7001cluster3.host.port = 192.168.0.109:7002 cluster4.host.port = 192.168.0.110:7003cluster5.host.port.port = 192.168.0.110:7004cluster6.host.port = 192.168.0.110:7005
Redis構成ファイルは、前のファイルからも大きく変更されています。直接リストしましたが、直接コピーして使用できます。
spring-redis.xml
<beans xmlns = "http://www.springframework.org/schema/beans" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns:p = " XMLNS:MVC = "http://www.springframework.org/schema/mvc" xmlns:util = "http://www.springframework.org/schema/util" xmlns:aop = "http://www.springframework.org/schema/aop" xmlns:context = "http://www.springframework.org/schema/context" xmlns:task = "http://www.springframework xsi:schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/util http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd http://www.springframework.org/schema/context http://www.springframeworkwork.org/schema/context-4 <! - データベース接続プールと同様の接続プールの基本パラメーター構成 - > <コンテキスト:プロパティプレイスホルダー場所= "class.properties" /> <bean name = "genericobjectpoolconfig"> <プロパティ名= "maxwaitmillis" value = "-1" -1 " - 1" /> <property " /property =" 1000 <プロパティ名= "maxidle" value = "100"/> </bean> <! - データベース接続プールと同様の接続プール構成 - > <! - <bean id = "jedisconnectionfactory"> <プロパティ名= "hostname" value = "$ {redis.host}" value = "$ {redis.pass}"> </property> <property name = "poolconfig" ref = "poolconfig"> </property> </bean> - > <! - コール接続プールファクトリ構成 - > <! - <bean id = "redistemplate"> <jedisconnectionfactory "保存するときはインテリジェントに。ユーザータイプを使用して保存すると、ユーザーが文字列にキャストできないエラーが発生します。 ! ! <プロパティ名= "keyserializer"> <bean/> </property> <property name = "valueserializer"> <bean/> </property> </bean> - > <bean id = "jediscluster"> <property name = "addressconfig"> <balue> classpath:redis.porties </value> propertion> < name = "timeout" value = "300000" /> <プロパティ名= "maxredirections" value = "6" /> <プロパティ名= "genericobjectpoolconfig" ref = "genericobjectpoolconfig" /> < /bean> < /beans> < /bean以前のSSM+Redis統合でMyBatisのすべてのキャッシュ構成を無効にして、サービステストを開始する
まず、Jedisclusterを直接注入してクラスターオブジェクトを取得します。
便利なため、データを同期するためにJavaで簡単なアイデアを書きました。また、Spring AOPの実装、サードパーティのプラグインを使用して、またはデータベースレベルの実装など、他の方法も実装できます。
スタートアップが成功した後、この方法は繰り返し呼ばれます。コンソールはSQLステートメントを印刷しないが、Redisクラスター内のデータを直接取得することがわかります。上記の単純なRedisクラスターインスタンスが完了しました。時間の制約のため、Linuxのいくつかの落とし穴を詳細に書き留めていません。
要約します
上記は、RedisクラスターとSSMの統合使用方法と紹介されたものです。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!