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.开启虚拟机

java代码操作Redis

 

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

已缓存的数据

java代码操作Redis

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代码操作Redis

看是否已经缓存成功

java代码操作Redis

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

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

java代码操作Redis

java代码操作Redis

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

java代码操作Redis

上一篇:Jedis操作Redis数据库


下一篇:基于zookeeper的高可用Hadoop HA集群安装