黑马程序员技术交流社区
标题: 【郑州校区】Java之品优购部署_day01(10) [打印本页]
作者: 谷粒姐姐 时间: 2018-7-11 14:17
标题: 【郑州校区】Java之品优购部署_day01(10)
本帖最后由 谷粒姐姐 于 2018-7-11 14:19 编辑
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"?>
<!-- 加载配置属性文件 -->
<context:property-placeholder ignore-unresolvable="true" location="classpath:properties/redis-cluster-config.properties"/>
<bean id="redis-clusterConfiguration" class="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="jeidsConnectionFactory" class="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 会发生什么。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |