亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Redis集群與SSM整合使用方法

 更新時間:2017年12月11日 16:37:44   作者:cui5445  
這篇文章主要介紹了Redis集群與SSM整合使用方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

首先是創(chuàng)建redis-cluster文件夾:

因為redis最少需要6個節(jié)點(三主三從),為了更好的理解,我這里創(chuàng)建了兩臺虛擬機(192.168.0.109 192.168.0.110),分別在兩臺虛擬機的/opt/redis-4.0.1/redis-cluster下創(chuàng)建三個節(jié)點文件夾

192.168.0.109:

192.168.0.110:

以上6個節(jié)點全部創(chuàng)建完成,分別再在這六個文件夾下創(chuàng)建redis.conf配置文件,其中配置如圖:

port 7000
bind 192.168.0.109
daemonize yes
pidfile /var/run/redis_7000.pid
cluster-enabled yes
cluster-config-file nodes_7000.conf
cluster-node-timeout 10000
appendonly yes

其中需要將port pidfile cluster-config-file修改成節(jié)點端口號一致,bind改成本機ip,以便遠程訪問,全部修改完后,即可啟動redis服務:

啟動命令:

192.168.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”

192.168.0.110下的命令:“for((i=3;i<=5;i++)); do /opt/redis-4.0.1/src/redis-server /opt/redis-4.0.1/redis-cluster/700$i/redis.conf; done”

可以看到后臺模式啟動成功的日志打印,兩天機器都需要依次啟動所有節(jié)點。節(jié)點啟動完成后,即可創(chuàng)建集群服務:

在其中一臺虛擬機上執(zhí)行如下命令“/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.168.0.110:7003 192.168.0.110:7004 192.168.0.110:7005”

 千萬記住只需要在一臺上執(zhí)行即可,如果卡在join處不能往下執(zhí)行,一般情況是出在防火墻端口被禁導致,有兩種方式可以解決:

1、不但需要開啟7000對外端口,還需要開啟17000(因為redis總線端口需要加1000)。

2、直接關閉所有防火墻(因我這里是自己的環(huán)境,所以直接關閉了防火墻服務)。

出現(xiàn)上圖運行日志,基本就成功搭建好了集群服務,可以清晰的看到各個節(jié)點的主從關系,環(huán)境搭建好后,這里我們就和我上篇寫到的SSM架構進行聯(lián)合使用。

上次整合的mybaits二級緩存是個單機版本,由于這種方式不支持集群,所以這里從新使用jedis-cluster進行另外一種redis集群與java整合使用的方式。

首先在redis.properties文件中新增集群機器的配置,將6個節(jié)點依次加入配置:

#cluster 
cluster1.host.port=192.168.0.109:7000
cluster2.host.port=192.168.0.109:7001
cluster3.host.port=192.168.0.109:7002
cluster4.host.port=192.168.0.110:7003
cluster5.host.port=192.168.0.110:7004
cluster6.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="http://www.springframework.org/schema/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.org/schema/task" 
 xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
   http://www.springframework.org/schema/util
   http://www.springframework.org/schema/util/spring-util-4.3.xsd
   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.springframework.org/schema/context/spring-context-4.3.xsd">
  <!-- 連接池基本參數(shù)配置,類似數(shù)據(jù)庫連接池 -->
   <context:property-placeholder location="classpath*:redis.properties" />
  <bean name="genericObjectPoolConfig" class="org.apache.commons.pool2.impl.GenericObjectPoolConfig" >
    <property name="maxWaitMillis" value="-1" />
    <property name="maxTotal" value="1000" />
    <property name="minIdle" value="8" />
    <property name="maxIdle" value="100" />
  </bean>
  <!-- 連接池配置,類似數(shù)據(jù)庫連接池 -->
  <!-- <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" >
    <property name="hostName" value="${redis.host}"></property>
    <property name="port" value="${redis.port}"></property>
    <property name="password" value="${redis.pass}"></property>
    <property name="poolConfig" ref="poolConfig"></property> 
  </bean> -->
  <!-- 調(diào)用連接池工廠配置 -->
  <!-- <bean id="redisTemplate" class=" org.springframework.data.redis.core.RedisTemplate">
    <property name="jedisConnectionFactory" ref="jedisConnectionFactory"></property>
    如果不配置Serializer,那么存儲的時候智能使用String,如果用User類型存儲,那么會提示錯誤User can't cast to String?。。?
     <property name="keySerializer"> 
      <bean 
      class="org.springframework.data.redis.serializer.StringRedisSerializer" /> 
    </property> 
    <property name="valueSerializer"> 
      <bean 
        class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" /> 
    </property> 
  </bean> -->
   <bean id="jedisCluster" class="com.cjl.util.JedisClusterFactory">
    <property name="addressConfig">
      <value>classpath:redis.properties</value>
    </property>
    <property name="addressKeyPrefix" value="cluster" />
    <property name="timeout" value="300000" />
    <property name="maxRedirections" value="6" />
    <property name="genericObjectPoolConfig" ref="genericObjectPoolConfig" />
  </bean>
</beans>

將上篇SSM+redis整合中mybatis的開啟緩存配置全部禁用,即可啟動服務測試了

首先直接注入jedisCluster獲取一個集群對象。

這里為了方便,我數(shù)據(jù)同步直接用了java寫了個簡單思想,其他方法也可實現(xiàn),例如Spring AOP方式實現(xiàn),使用第三方插件,或者數(shù)據(jù)庫層面實現(xiàn)都可行。

啟動成功后,反復調(diào)用方法。可以看到控制臺并未打印sql語句,而是直接在redis集群中直接獲取得到數(shù)據(jù)。以上簡單的redis集群實例已經(jīng)完成,因為時間關系,其中l(wèi)inux中有些坑我沒有細細寫出。

總結

以上所述是小編給大家介紹的Redis集群與SSM整合使用方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • java 實現(xiàn)讀取clob

    java 實現(xiàn)讀取clob

    這篇文章主要介紹了java 如何實現(xiàn)讀取clob,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-10-10
  • java 快速實現(xiàn)異步調(diào)用的操作方法

    java 快速實現(xiàn)異步調(diào)用的操作方法

    這篇文章主要介紹了java 如何快速實現(xiàn)異步調(diào)用方法,今天我們就來了解下 CompletableFuture,它Java 8引入的一種功能強大的異步編程工具,可以用于實現(xiàn)復雜的異步操作和處理鏈式的異步任務,需要的朋友可以參考下
    2023-07-07
  • Java 繼承方法實例詳解

    Java 繼承方法實例詳解

    這篇文章主要介紹了Java繼承中方法實例,非常的實用,這里推薦給大家,有需要的小伙伴可以參考下
    2017-04-04
  • java實現(xiàn)emqx設備上下線監(jiān)聽詳解

    java實現(xiàn)emqx設備上下線監(jiān)聽詳解

    這篇文章主要為大家介紹了java實現(xiàn)emqx設備上下線監(jiān)聽詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • SpringBoot中實現(xiàn)代理方式

    SpringBoot中實現(xiàn)代理方式

    這篇文章主要介紹了SpringBoot中實現(xiàn)代理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Java Array.sort()源碼分析講解

    Java Array.sort()源碼分析講解

    Arrays類中有一個sort()方法,該方法是Arrays類的靜態(tài)方法,在需要對數(shù)組進行排序時,非常的好用。但是sort()的參數(shù)有好幾種,下面我就為大家一一介紹,這幾種形式的用法
    2022-08-08
  • Spring Data JPA踩坑記錄(@id @GeneratedValue)

    Spring Data JPA踩坑記錄(@id @GeneratedValue)

    這篇文章主要介紹了Spring Data JPA踩坑記錄(@id @GeneratedValue),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • javaSwing寫關閉窗口的提示框實例

    javaSwing寫關閉窗口的提示框實例

    這篇文章主要介紹了javaSwing寫關閉窗口的提示框實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Executor攔截器高級教程QueryInterceptor的規(guī)范

    Executor攔截器高級教程QueryInterceptor的規(guī)范

    今天小編就為大家分享一篇關于Executor攔截器高級教程QueryInterceptor的規(guī)范,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Java使用RedisTemplate模糊刪除key操作

    Java使用RedisTemplate模糊刪除key操作

    這篇文章主要介紹了Java使用RedisTemplate模糊刪除key操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評論