常言笑的家

          Spring, Hibernate, Struts, Ajax, RoR

          Redis 3.X版本引入了集群的新特性的三種用法

          一、利用Jedis來實現

                  Set<HostAndPort>  jedisClusterNodes = new HashSet<HostAndPort>();

                    //Jedis Cluster will attempt to discover cluster nodes automatically

                   jedisClusterNodes.add(new HostAndPort("10.96.5.183",9001));

                   jedisClusterNodes.add(new HostAndPort("10.96.5.183",9002));

                   jedisClusterNodes.add(new HostAndPort("10.96.5.183",9003));

                  JedisCluster jc = new JedisCluster(jedisClusterNodes);

          二、利用spring-data-redis來實現

               <!--通過構造方法注入RedisNode-->

               <bean id="clusterRedisNodes1"   class="org.springframework.data.redis.connection.RedisNode"> 

                      <constructor-arg value="10.96.5.183" />

                     <constructor-arg value="9002" type="int" />

               </bean>

               ....

              <!--setter方式注入-->

              <bean id="redisClusterConfiguration"   class="org.springframework.data.redis.connection.RedisClusterConfiguration">

                 <property name="clusterNodes">

                        <set>

                                  <ref bean="clusterRedisNodes1"/>

                                 <ref bean="clusterRedisNodes2"/>

                                 <ref bean="clusterRedisNodes3"/>

                        </set>

                 </property>
              </bean>

            <!--setter方式注入,對應的屬性需存在setterXXX方法-->


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

                      <property name="maxToal" value="1000" />

                     <property name="maxIdle" value="1000" />

                     <property name="maxWaitMillis" value="1000" />

             </bean>

            <bean id="jedisConnFactory"   class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:use-pool="true">

                     <constructor-arg ref="redisClusterConfiguration" />

                     <constructor-arg ref="jedisPoolConfig" />

            </bean>

           <bean id="redisTemplate"   class="org.springframework.data.redis.core.RedisTemplate"  p:connection-factory-ref="jedisConnFactory" />

          <!--setter方式注入PersonRepoImpl-->

          <bean id="personRepo"  class="com.example.repo.impl.PersonRepoImpl">

                 <property name="redisTemplate" ref="redisTemplate" />

          </bean>

          三、簡單集成Spring

              自己編寫jedisCluster的工廠類JedisClusterFactory,然后通過Spring注入的方式獲取jedisCluster,實現客戶端使用Redis3.0版本的集群特性。

          posted on 2016-08-07 17:32 常言笑 閱讀(587) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          My Links

          Blog Stats

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 明水县| 梓潼县| 中阳县| 西青区| 抚顺市| 安新县| 鲁山县| 宝坻区| 盐亭县| 石河子市| 常山县| 乐山市| 钟山县| 陕西省| 德江县| 华蓥市| 广州市| 大姚县| 牟定县| 信宜市| 卫辉市| 洞头县| 关岭| 洛隆县| 天台县| 盐津县| 台州市| 固原市| 四川省| 五常市| 清水县| 郑州市| 渭南市| 文安县| 来凤县| 融水| 门源| 鲁山县| 烟台市| 成武县| 潮州市|