zoukankan      html  css  js  c++  java
  • Jedis API来操作redis

    利用Jedis API来操作redis

    1. 导入依赖

    <dependency>

                                  <groupId>org.springframework</groupId>

                                  <artifactId>spring-context</artifactId>

                                  <version>4.3.20.RELEASE</version>

                        </dependency>

                        <dependency>

                                  <groupId>org.springframework</groupId>

                                  <artifactId>spring-aspects</artifactId>

                                  <version>4.3.20.RELEASE</version>

                        </dependency>

                        <dependency>

                                  <groupId>org.springframework</groupId>

                                  <artifactId>spring-webmvc</artifactId>

                                  <version>4.3.20.RELEASE</version>

                   </dependency>

                   <dependency>

                                  <groupId>org.springframework</groupId>

                                  <artifactId>spring-jdbc</artifactId>

                                  <version>4.3.20.RELEASE</version>

                        </dependency>

                    <dependency>

                                       <groupId>org.springframework</groupId>

                                       <artifactId>spring-jms</artifactId>

                                       <version>4.3.20.RELEASE</version>

                              </dependency>

                              <dependency>

                                       <groupId>org.springframework</groupId>

                                       <artifactId>spring-context-support</artifactId>

                                        <version>4.3.20.RELEASE</version>

                              </dependency>

                      <dependency>

                          <groupId>redis.clients</groupId>

                          <artifactId>jedis</artifactId>

                          <version>2.9.0</version>

                      </dependency>

                       <!-- 返回json字符串的支持  -->

            <dependency>

                <groupId>com.fasterxml.jackson.core</groupId>

                <artifactId>jackson-databind</artifactId>

                <version>2.8.8</version>

            </dependency>

                      <dependency>

                <groupId>org.springframework</groupId>

                <artifactId>spring-test</artifactId>

                <version>4.3.0.RELEASE</version>

            </dependency>

                      <dependency>

                          <groupId>junit</groupId>

                          <artifactId>junit</artifactId>

                          <version>4.12</version>

                          <scope>test</scope>

                      </dependency>

     

    2. 把相关的类交给spring容器管理

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

            <!-- 最大空闲连接数 -->

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

            <!-- 最大连接数 -->

            <property name="maxTotal" value="5" />

            <!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true -->

            <property name="blockWhenExhausted" value="true" />

            <!-- 获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间,  默认-1 -->

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

            <!-- 在获取连接的时候检查有效性 -->

            <property name="testOnBorrow" value="true" />

        </bean>

     

        <bean id="jedisPool" class="redis.clients.jedis.JedisPool" destroy-method="close">

            <constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg>

            <constructor-arg name="host" value="192.168.18.201" />

            <constructor-arg name="port" value="6379" />

            <constructor-arg name="timeout" value="30000" />

            <constructor-arg name="password" value="123456"></constructor-arg>

        </bean>

     

    3. 测试

    @RunWith(SpringJUnit4ClassRunner.class)

    @ContextConfiguration("classpath:applicationContext.xml")

    public class JedisTest {

     

        @Autowired

        private JedisPool jedisPool;

        @Test

        public void testAdd(){

            Jedis jedis = jedisPool.getResource();

            jedis.set("name","wangwu");

            jedis.close();

        }

        @Test

        public void testAddPerson(){

            Person person=new Person(100,"张三","男",22,new Date());

            Jedis jedis = jedisPool.getResource();

           // jedis.set("person", JsonUtils.objectToJson(person));

            jedis.hset("persons",person.getName(),JsonUtils.objectToJson(person));

            jedis.close();

        }

     

        @Test

        public void testAddPerson2(){

     

            Jedis jedis = jedisPool.getResource();

            String jsonData=jedis.get("person");

            Person person=JsonUtils.jsonToEntity(jsonData,Person.class);

            System.out.println(person);

            jedis.close();

        }

    }

     

  • 相关阅读:
    AOP 相关包
    Dubbo学习(一) Dubbo原理浅析
    maven 三个仓库表
    关于servlet中doGet和doPost乱码再一次理解
    关于对String中intern方法的理解
    模拟文件上传(五):为文件添加描述信息
    模拟文件上传(四):对于前面三版中一些出错细节进行处理
    对于模拟文件上传(三)中,批量上传,传空值抛异常前台约束实现
    模拟文件上传(三):使用apache fileupload组件进行文件批量上传
    模拟文件上传(二):使用apache fileupload组件进行文件上传
  • 原文地址:https://www.cnblogs.com/zhaojiu/p/14021375.html
Copyright © 2011-2022 走看看