Java之品优购部署_day01(10)

4.3 连接 Redis-Cluster4.3.1 客户端工具连接

Redis-cli 连接集群:


file:///C:\Users\user\AppData\Local\Temp\ksohtml\wpsD57E.tmp.png

-c:代表连接的是 redis 集群

测试值的存取:

(1)从本地连接到集群 redis        使用 7001 端口 加 -c 参数

(2)存入 name 值为 abc ,系统提示此值被存入到了 7002 端口所在的 redis (槽是 5798)

(3)提取 name 的值,可以提取。

(4)退出(quit)

(5)再次以 7001 端口进入 ,不带-c

(6)查询 name 值,无法获取,因为值在 7002 端口的 redis 上

(7)我们以 7002 端口进入,获取 name 值发现是可以获取的,而以其它端口进入均不能获取

4.3.2 SpringDataRedis连接 Redis集群

修改品优购工程        在 pinyougou-common 工程添加 spring 配置文件

applicationContext-redis-cluster.xml

<?xml  version="1.0"encoding="UTF-8"?>

<beans  xmlns="http://www.springframework.org/schema/beansxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:p="http://www.springframework.org/schema/p"

xmlns:context="http://www.springframework.org/schema/context"

file:///C:\Users\user\AppData\Local\Temp\ksohtml\wps2328.tmp.pngxsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd">

<!-- 加载配置属性文件 -->

<context:property-placeholder  ignore-unresolvable="truelocation="classpath:properties/redis-cluster-config.properties"/>

<bean  id="redis-clusterConfigurationclass="org.springframework.data.redis.connection.redis-clusterConfiguration">

<property  name="maxRedirects"value="${redis.maxRedirects}"></property>

<property  name="clusterNodes">

<set>

<bean  class="org.springframework.data.redis.connection.redis-clusterNode">

<constructor-arg  name="host"value="${redis.host1}"></constructor-arg>

<constructor-arg  name="port"value="${redis.port1}"></constructor-arg>

</bean>

<bean  class="org.springframework.data.redis.connection.redis-clusterNode">

<constructor-arg  name="host"value="${redis.host2}"></constructor-arg>

<constructor-arg  name="port"value="${redis.port2}"></constructor-arg>

</bean>

<bean  class="org.springframework.data.redis.connection.redis-clusterNode">

<constructor-arg  name="host"value="${redis.host3}"></constructor-arg>

<constructor-arg  name="port"value="${redis.port3}"></constructor-arg>

</bean>

file:///C:\Users\user\AppData\Local\Temp\ksohtml\wps4E7F.tmp.png<bean  class="org.springframework.data.redis.connection.redis-clusterNode">

<constructor-arg  name="host"value="${redis.host4}"></constructor-arg>

<constructor-arg  name="port"value="${redis.port4}"></constructor-arg>

</bean>

<bean  class="org.springframework.data.redis.connection.redis-clusterNode">

<constructor-arg  name="host"value="${redis.host5}"></constructor-arg>

<constructor-arg  name="port"value="${redis.port5}"></constructor-arg>

</bean>

<bean  class="org.springframework.data.redis.connection.redis-clusterNode">

<constructor-arg  name="host"value="${redis.host6}"></constructor-arg>

<constructor-arg  name="port"value="${redis.port6}"></constructor-arg>

</bean>

</set>

</property>

</bean>

<bean  id="jedisPoolConfig"class="redis.clients.jedis.JedisPoolConfig">

<property  name="maxIdle"value="${redis.maxIdle}"/>

<property  name="maxTotal"value="${redis.maxTotal}"/>

</bean>

<bean  id="jeidsConnectionFactoryclass="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">

<constructor-arg  ref="redis-clusterConfiguration"/>

<constructor-arg  ref="jedisPoolConfig"/>

</bean>

添加属性文件 redis-cluster-config.properties

#cluster  configuration redis.host1=192.168.25.140 redis.port1=7001

redis.host2=192.168.25.140 redis.port2=7002

redis.host3=192.168.25.140 redis.port3=7003

redis.host4=192.168.25.140 redis.port4=7004

redis.host5=192.168.25.140 redis.port5=7005

redis.host6=192.168.25.140 redis.port6=7006

redis.maxRedirects=3

redis.maxIdle=100 redis.maxTotal=600

模拟集群异常测试

关闭节点命令

./redis-cli -p 端 口 shutdown

(1)测试关闭 7001 和 7004, 看看会发生什么。

(2)测试关闭 7001、7002、7003   会发生什么。

猜你喜欢

转载自blog.csdn.net/czbkzmj/article/details/81097553