同一物理機部署6個Redis進程,700一、700二、7003端口爲Master進程、700四、700五、7006端口爲Slave進程。多機部署時注意配對的Master和Slave不在同一物理機上便可。 java
1. 下載源代碼文件redis-3.0.0.tar.gz
2. 解壓tar -xzvf redis-3.0.0..tar.gz
3. 進入目錄 cd redis-3.0.0
4. 編譯make
5. 安裝 make install
6. 建立6個目錄用來存放每一個進程的配置文件和數據mkdir 7001至7006
7. cp redis.conf 7001/至7006/文件夾下
至此7001至7006這6個目錄下均有redis.conf配置件。 node
6個redis.conf配置文件相同,注意修改下黃色字體部分的內容便可,其餘都相同 linux
配置選項 redis |
值 ruby |
描述 oracle |
daemonize 字體 |
yes ui |
|
logfile spa |
"/opt/log/redis-7001.log" 日誌 |
|
databases |
1 |
|
dir |
/opt/oracle/redis-3.0.0/7001 |
用來存放數據的地方 |
cluster-enabled |
yes |
|
cluster-config-file |
/opt/oracle/redis-3.0.0/7001/nodes.conf |
|
cluster-node-timeout |
15000 |
|
cluster-migration-barrier |
1 |
|
cluster-require-full-coverage |
yes |
只要集羣中有一對Master-Slave不可用時,整個集羣不可用 |
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="30" /> <property name="maxIdle" value="10" /> <property name="minIdle" value="10" /> <property name="blockWhenExhausted" value="true"></property> <property name="maxWaitMillis" value="3000" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <property name="testWhileIdle" value="false" /> </bean> <bean id="jedisCluster" class="redis.clients.jedis.JedisCluster"> <constructor-arg index="0"> <set> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg index="0" value="192.168.126.131" /> <constructor-arg index="1" value="7001" type="int" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg index="0" value="192.168.126.131" /> <constructor-arg index="1" value="7002" type="int" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg index="0" value="192.168.126.131" /> <constructor-arg index="1" value="7003" type="int" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg index="0" value="192.168.126.131" /> <constructor-arg index="1" value="7004" type="int" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg index="0" value="192.168.126.131" /> <constructor-arg index="1" value="7005" type="int" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg index="0" value="192.168.126.131" /> <constructor-arg index="1" value="7006" type="int" /> </bean> </set> </constructor-arg> <constructor-arg index="1" value="15000" type="int"></constructor-arg> <constructor-arg index="2" ref="jedisPoolConfig"></constructor-arg> </bean>
@Test public void test8(){ System.out.println(jedisCluster); for(int i=0;i<1000;i++){ jedisCluster.set(""+i, ""+i); } //使用時不用關閉的,JedisCluster內部會自動關閉 }