Java連接Redis,存儲對象獲取對象()byte和json),連接池


Java連接Redis

Jedis連接Redis,Lettuce連接Redis

Jedis連接Redis

1. 創建maven項目

2. 引入依賴

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.9.0</version>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.12</version>
    </dependency>
  </dependencies>

3. 測試

  @Test
  public void Test1() {
//    連接Redis
    Jedis jedis = new Jedis("localhost", 6379);
//    操作Redis - 因為Redis命令是什么,Jedis方法就是什么
    jedis.set("name", "李四");
//    釋放資源
    jedis.close();
    System.out.println(jedis.get("name"));
  }

Jedis如何存儲一個對象到Redis

准備一個User實體類

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User  implements Serializable {
  private String name;
  private String Date;
}

導入spring-context依賴

    <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>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.12</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.2.6.RELEASE</version>
    </dependency>

創建Demo測試類,編寫內容

  @Test
  public void Test2() {
//    連接Redis
    Jedis jedis = new Jedis("localhost", 6379);
//    准備key(String) -value (user)
    String key = "user";
    User value = new User("張三", "1999");
//    將key和value轉換為byte[]
    byte[] byteKey = SerializationUtils.serialize(key);
    byte[] byteValue = SerializationUtils.serialize(value);
//    將key和value存儲到Redis
    jedis.set(byteKey, byteValue);
//    釋放資源
    jedis.close();

Jedis如何從Redis讀取一個對象

測試

@Test
  public void Test3() {
//    連接Redis
    Jedis jedis = new Jedis("localhost", 6379);
//    准備一個key
    String key = "user";
//    將key轉換為字節數組類型
    byte[] byteKey = SerializationUtils.serialize(key);
//    jedis去redis中獲取value
    byte[] value = jedis.get(byteKey);
//    將value反序列化
    User user = (User) SerializationUtils.deserialize(value);
    System.out.println(user);
//    釋放資源
    jedis.close();
  }

如何將一個對象以字符串的形式存儲到Redis

導入依賴

 <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>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.12</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.2.6.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.70</version>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>RELEASE</version>
      <scope>compile</scope>
    </dependency>

測試

  @Test
  public void test1(){
//    連接Redis
    Jedis jedis = new Jedis("localhost",6379);
//    准備key(String) - value(User)
    String key = "stringUser";
    User value = new User("帥哥","19999");
//    使用fastJSON將value轉換為json字符串
    String stringValue = JSON.toJSONString(value);
//    存儲到Redis中
    jedis.set(key,stringValue);
//    釋放資源
    jedis.close();
  }

如何得到Redis中以字符串(JSON)存在形式的對象

依賴同上

測試

 @Test
  public void test2(){
//    連接Redis
    Jedis jedis = new Jedis("localhost",6379);
//准備一個key
    String key = "stringUser";
    //去Redis中查詢value
    String value = jedis.get(key);
    //將value反序列化一個對象
    User user = JSON.parseObject(value, User.class);
    System.out.println("user = "+ user);
//    釋放資源
    jedis.close();
  }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM