redis_demo
redis安装:Redis 安装 | 菜鸟教程 (runoob.com)
redis概念:Jedis入门 - 知乎 (zhihu.com)
jedis参考demo:Jedis入门教程_jedis教程-CSDN博客
模块目录结构:
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>redis_demo</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>redis_demo</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>4.2.3</version> </dependency> <!--Jackson包--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.8</version> <scope>compile</scope> </dependency> </dependencies> </project>
User.java:
package com.hmb; import java.io.Serial; import java.io.Serializable; public class User implements Serializable { @Serial private static final long serialVersionUID = 2366153045258667761L; private int id; private String name; public User(int id, String name) { this.id = id; this.name = name; } public User() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + '}'; } }
jedis.properties
host=127.0.0.1 port=6379 maxTotal=50 maxIdle=10
JedisPoolUtils.java
package com.hmb; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class JedisPoolUtils { private static JedisPool jedisPool; static { InputStream is = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties"); Properties properties = new Properties(); try { properties.load(is); } catch (IOException e) { throw new RuntimeException(e); } JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(Integer.parseInt(properties.getProperty("maxTotal"))); config.setMaxIdle(Integer.parseInt(properties.getProperty("maxIdle"))); jedisPool = new JedisPool(config, properties.getProperty("host"), Integer.parseInt(properties.getProperty("port"))); } public static Jedis getJedis() { return jedisPool.getResource(); } }
Main.java
package com.hmb; import com.fasterxml.jackson.databind.ObjectMapper; import redis.clients.jedis.Jedis; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { Jedis jedis = JedisPoolUtils.getJedis(); User user = new User(1, "zhangsan"); System.out.println(user); ObjectMapper objectMapper = new ObjectMapper(); String json = objectMapper.writeValueAsString(user); String key = "zhangsan"; jedis.set(key, json); json = jedis.get(key); User user1 = objectMapper.readValue(json, User.class); System.out.println(user1); } }
运行效果: