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

        }

    }

     

  • 相关阅读:
    iOS 开发中的坑与相关技巧
    SDK 封装的相关看法
    线程问题---在iPad上会崩溃,在iPhone上不会崩溃
    添加新手引导页需要注意的几个小点
    iOS 七牛云上传并获取图片----【客户端】
    iOS 线程相关-----绝对de干货
    Vue.js 基础示例
    lib-flexible 结合 WKWebView 的样式错乱解决方法
    基于CommentCoreLibrary简单的弹幕实现
    页面上动态编译及执行java代码
  • 原文地址:https://www.cnblogs.com/zhaojiu/p/14021375.html
Copyright © 2011-2022 走看看