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();

    }

}

 

posted @ 2020-11-22 21:01  照旧  阅读(121)  评论(0编辑  收藏  举报