redis整合Spring入門

首先

  衷心感謝這篇博客給我入門時的啓發  三顆心臟

  你需要知道,spring的官方文檔中已經註明,與redis整合時,spring的jar包版本不能低於4.2.6,否則不支持,會報錯的喲

  測試的時候請保持redis運行,不要把redis×掉了

接下來

  以下是我在MyEclipse上親測寫下的博客

準備工作

  除了必須的spring jar包外,你還需要用到這兩個jar包(我不知道怎麼傳這些jar包,大家可以到maven官網上去找)

    1.jedis-2.9.0.jar

    2.commons-pools-2.6.0.jar

做兩件事

  1.配置 spring 配置文件 bean1.xml(我自己的命名哈,一般應該是applicationContext.xml)

  如果你在安裝redis時自己設置的地址,請修改jedisPool bean中的host的value

  一堆代碼塊:

     ......
       <!-- 連接池配置 -->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <!-- 最大連接數 -->
        <property name="maxTotal" value="30" />
        <!-- 最大空閒連接數 -->
        <property name="maxIdle" value="10" />
        <!-- 每次釋放連接的最大數目 -->
        <property name="numTestsPerEvictionRun" value="1024" />
        <!-- 釋放連接的掃描間隔(毫秒) -->
        <property name="timeBetweenEvictionRunsMillis" value="30000" />
        <!-- 連接最小空閒時間 -->
        <property name="minEvictableIdleTimeMillis" value="1800000" />
        <!-- 連接空閒多久後釋放, 當空閒時間>該值 且 空閒連接>最大空閒連接數 時直接釋放 -->
        <property name="softMinEvictableIdleTimeMillis" value="10000" />
        <!-- 獲取連接時的最大等待毫秒數,小於零:阻塞不確定的時間,默認-1 -->
        <property name="maxWaitMillis" value="1500" />
        <!-- 在獲取連接的時候檢查有效性, 默認false -->
        <property name="testOnBorrow" value="false" />
        <!-- 在空閒時檢查有效性, 默認false -->
        <property name="testWhileIdle" value="true" />
        <!-- 連接耗盡時是否阻塞, false報異常,ture阻塞直到超時, 默認true -->
        <property name="blockWhenExhausted" value="false" />
    </bean>
    <!-- redis單機 通過連接池 -->
    <bean id="jedisPool" class="redis.clients.jedis.JedisPool"
        destroy-method="close">
        <constructor-arg name="poolConfig" ref="jedisPoolConfig" />
        <constructor-arg name="host" value="127.0.0.1" />
        <constructor-arg name="port" value="6379" />
    </bean>
  ......      

  2.測試一下咯

  寫一個TestOrder類測試一下,應該知道JUnit測試吧

public class TestOrder {
       @Test
       public void test(){
       ApplicationContext context=new ClassPathXmlApplicationContext("bean1.xml");
       JedisPool pool = (JedisPool) context.getBean("jedisPool");
      Jedis jedis = null;  
        try {
         jedis = pool.getResource();
         jedis.set("name", "馮吉榮");
         String name = jedis.get("name");
         System.out.println(name);
     } catch (Exception ex) {
         ex.printStackTrace();
     } finally {
         if (jedis != null) {
             // 關閉連接
             jedis.close();
         }
     }
       }
       
       }
}

  上一張結果圖

  其實我就是一張圖,控制檯顯示爲 馮吉榮

最後

  注意前面紅字,其實紅字貌似在這篇博客裏是沒影響的,但是想寫出來以免出現錯誤。在序列化跟反序列化中紅字很重要,OK,序列化入門見

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章