zoukankan      html  css  js  c++  java
  • 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,序列化入门见

  • 相关阅读:
    MongoDB的安装和常用命令
    mysql安装、使用与遇见的问题汇总
    devicePixelRatio,Viewport,移动端适配
    javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法
    正则表达式
    npm 常用命令
    Markdown 基本语法
    mysql忘记root密码
    mysql5.7.12/13在安装新实例时报错:InnoDB: auto-extending data file ./ibdata1 is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero
    mysqld数据位于a盘,执行delete from table, 发现另外2个盘磁盘使用率接近100%,而a盘的使用率反而很低,y??
  • 原文地址:https://www.cnblogs.com/fjrgg/p/9544252.html
Copyright © 2011-2022 走看看