java代码操作Redis

1.导入需要的pom依赖

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <!--servlet  -->
    <servlet.version>4.0.0</servlet.version>
    <!--mysql-->
    <mysql.version>5.1.44</mysql.version>
    <!--6.jstl+standard  -->
    <jstl.version>1.2</jstl.version>
    <standard.version>1.1.2</standard.version>
    <!--7.tomcat-jsp-api  -->
    <tomcat.jsp.version>8.0.46</tomcat.jsp.version>
    <!--jackson-->
    <jackson.version>2.9.3</jackson.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>


    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.9.0</version>
    </dependency>


    <!--servlet  -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>${servlet.version}</version>
      <scope>provided</scope>
    </dependency>


    <!--6.jstl+standard  -->
    <!-- https://mvnrepository.com/artifact/jstl/jstl -->
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>${jstl.version}</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/taglibs/standard -->
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>${standard.version}</version>
    </dependency>

    <!--7.tomcat-jsp-api  -->
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-jsp-api</artifactId>
      <version>${tomcat.jsp.version}</version>
    </dependency>


    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>${jackson.version}</version>
    </dependency>



    <!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
    <dependency>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
      <version>1.6.1</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
      <version>1.9.4</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.2</version>
    </dependency>

2.开启虚拟机

 

3.java代码操作redis

package com.hmc.demo;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.Tuple;

import java.util.List;

/**
 * @author胡明财
 * @site www.xiaomage.com
 * @company xxx公司
 * @create  2019-10-13 10:57
 */
public class Demo {
    public static void main(String[] args) {
        Jedis Jedis = new Jedis("192.168.197.128", 6379);
        Jedis.auth("123456");
         System.out.println(Jedis.ping());

        //选择数据库
        String select = Jedis.select(0);
       // Jedis.del("booklist");
        //Strng 字符串
        //set
        //Jedis.set("name","张三");
        //get获取
        System.out.println(Jedis.get("booklist"));
        //type获取类型
        //System.out.println(Jedis.type("name"));
        //del删除
        //Jedis.del("name");
        //expire设置超时时间
        //Jedis.expire("name",10);

        //hash(哈希)

//        Jedis.hset("student","name","李四");
//        Jedis.hset("student","age","13");
//        Jedis.hset("student","addres","长沙");

//        System.out.println(Jedis.hget("student", "name"));

        //list列表
//        Jedis.lpush("names","张三","李四","王五");
//        Long names = Jedis.llen("names");
//        for (int i=0;i<names;i++){
        //从左到右
        //     System.out.println(Jedis.lpop("names"));
        //从左到右
        //System.out.println(Jedis.rpop("names"));
   // }


        //set集合
       // Jedis.sadd("username","admin","zs","ls");
//        ScanResult<String> username = Jedis.sscan("username", 0);
//        List<String> result = username.getResult();
//        for (String s : result) {
//            System.out.println(s);
//        }

        //zset有序集合
//        Jedis.zadd("sex",70,"男");
//        Jedis.zadd("sex",80,"女");
//        Jedis.zadd("sex",90,"不男不女");
//        ScanResult<Tuple> zscan = Jedis.zscan("sex", 0);
//        List<Tuple> result = zscan.getResult();
//        for (Tuple tuple : result) {
//            System.out.println("sex="+tuple.getElement()+",score="+tuple.getScore());
//
//        }


    }
}

已缓存的数据

4.redis缓存数据库(利用查询进行缓存)

  public String list(HttpServletRequest request,HttpServletResponse response) throws Exception {
         //建立连接
          Jedis jedis = new Jedis("192.168.197.128", 6379);
          jedis.auth("123456");
           //获取缓存数据
            String booklist = jedis.get("booklist");
            if(booklist==null || "".equals(booklist)){
                 List<Book> list = this.bookdao.list(book, null);
                 System.out.println(list);
                 jedis.set("booklist",list.toString());
                 request.setAttribute("booklist", list);
                 return "list";
            }
            
            else {
                //[{"bid":33,"bname":"圣墟第33章","price":33.0}
                System.out.println(booklist);
                request.setAttribute("booklist", booklist);
                return "list";
            }
            
           
     }
     

这是查询出来的数据

看是否已经缓存成功

 因缓存数据过大,无法在右侧显示

接下来用java代码看一下是否有数据

清空缓存策略(执行增删改的时候)del即可

猜你喜欢

转载自www.cnblogs.com/xmf3628/p/11669317.html