HashExample.java
//EXAMPLE: hash_tutorial
package io.redis.examples;
import redis.clients.jedis.UnifiedJedis;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//REMOVE_START
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
//REMOVE_END
public class HashExample {
@Test
public void run() {
try (UnifiedJedis jedis = new UnifiedJedis("redis://localhost:6379")) {
// REMOVE_START
jedis.del("bike:1", "bike:1:stats");
// REMOVE_END
// STEP_START set_get_all
Map<String, String> bike1 = new HashMap<>();
bike1.put("model", "Deimos");
bike1.put("brand", "Ergonom");
bike1.put("type", "Enduro bikes");
bike1.put("price", "4972");
Long res1 = jedis.hset("bike:1", bike1);
System.out.println(res1); // 4
String res2 = jedis.hget("bike:1", "model");
System.out.println(res2); // Deimos
String res3 = jedis.hget("bike:1", "price");
System.out.println(res3); // 4972
Map<String, String> res4 = jedis.hgetAll("bike:1");
System.out.println(res4); // {type=Enduro bikes, brand=Ergonom, price=4972, model=Deimos}
// STEP_END
// REMOVE_START
assertEquals(4, res1.longValue());
assertEquals("Deimos", res2);
assertEquals("4972", res3);
assertEquals("Deimos", res4.get("model"));
assertEquals("Ergonom", res4.get("brand"));
assertEquals("Enduro bikes", res4.get("type"));
assertEquals("4972", res4.get("price"));
// REMOVE_END
// STEP_START hmget
List<String> res5 = jedis.hmget("bike:1", "model", "price");
System.out.println(res5); // [Deimos, 4972]
// STEP_END
// REMOVE_START
assert res5.toString().equals("[Deimos, 4972]");
// REMOVE_END
// STEP_START hincrby
Long res6 = jedis.hincrBy("bike:1", "price", 100);
System.out.println(res6); // 5072
Long res7 = jedis.hincrBy("bike:1", "price", -100);
System.out.println(res7); // 4972
// STEP_END
// REMOVE_START
assertEquals(5072, res6.longValue());
assertEquals(4972, res7.longValue());
// REMOVE_END
// STEP_START incrby_get_mget
Long res8 = jedis.hincrBy("bike:1:stats", "rides", 1);
System.out.println(res8); // 1
Long res9 = jedis.hincrBy("bike:1:stats", "rides", 1);
System.out.println(res9); // 2
Long res10 = jedis.hincrBy("bike:1:stats", "rides", 1);
System.out.println(res10); // 3
Long res11 = jedis.hincrBy("bike:1:stats", "crashes", 1);
System.out.println(res11); // 1
Long res12 = jedis.hincrBy("bike:1:stats", "owners", 1);
System.out.println(res12); // 1
String res13 = jedis.hget("bike:1:stats", "rides");
System.out.println(res13); // 3
List<String> res14 = jedis.hmget("bike:1:stats", "crashes", "owners");
System.out.println(res14); // [1, 1]
// STEP_END
// REMOVE_START
assertEquals(1, res8.longValue());
assertEquals(2, res9.longValue());
assertEquals(3, res10.longValue());
assertEquals(1, res11.longValue());
assertEquals(1, res12.longValue());
assertEquals("3", res13);
assertEquals("[1, 1]", res14.toString());
// REMOVE_END
}
}
}