1. Jedis所需jar包

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

2. 连接Redis注意事项

  1. 禁用Linux的防火墙或者开放Redis端口。

    # 1.禁用防火墙
    systemctl stop firewalld.service
    # 或者
    systemctl disable firewalld.service
    # 2.开放端口
    firewall-cmd --permanent --add-port=6379/tcp
    firewall-cmd --reload
    
  2. redis.conf中注释掉bind 127.0.0.1,然后设置protected-mode no

3. Jedis常用操作

3.1 测试连接

@Test
public void testConnect() {
    Jedis jedis = new Jedis("192.168.137.3",6379);
    String pong = jedis.ping(); // 1
    System.out.println("连接成功:"+pong);
    jedis.close();
}

3.2 测试相关数据类型

3.2.1 Key

@Test
public void testKey() {
    Jedis jedis = new Jedis("192.168.137.3", 6379);
    jedis.set("k1", "v1"); // 1
    jedis.set("k2", "v2");
    jedis.set("k3", "v3");
    Set<String> keys = jedis.keys("*"); // 2
    System.out.println(keys.size());
    for (String key : keys) {
        System.out.println(key);
    }
    System.out.println(jedis.exists("k1")); // 3
    System.out.println(jedis.ttl("k1")); // 4
    System.out.println(jedis.get("k1")); // 5
}

3.2.2 String

@Test
public void testString() {
    Jedis jedis = new Jedis("192.168.137.3", 6379);
    jedis.mset("str1", "v1", "str2", "v2", "str3", "v3"); // 1
    System.out.println(jedis.mget("str1", "str2", "str3")); // 2
}

3.2.3 List

@Test
public void testList() {
    Jedis jedis = new Jedis("192.168.137.3", 6379);
    List<String> list = jedis.lrange("mylist", 0, -1); // 1
    for (String element : list) {
        System.out.println(element);
    }
}

3.2.4 Set

@Test
public void testSet() {
    Jedis jedis = new Jedis("192.168.137.3", 6379);
    jedis.sadd("orders", "order01");
    jedis.sadd("orders", "order02");
    jedis.sadd("orders", "order03");
    jedis.sadd("orders", "order04");
    Set<String> smembers = jedis.smembers("orders"); // 1
    for (String order : smembers) {
        System.out.println(order);
    }
    jedis.srem("orders", "order02"); // 2
}

3.2.5 Hash

@Test
public void testHash() {
    Jedis jedis = new Jedis("192.168.137.3", 6379);
    jedis.hset("hash1", "userName", "lisi"); // 1
    System.out.println(jedis.hget("hash1", "userName")); // 2
    Map<String, String> map = new HashMap<String, String>();
    map.put("telphone", "13810169999");
    map.put("address", "tjpu");
    map.put("email", "abc@");
    jedis.hmset("hash2", map); // 3
    List<String> result = jedis.hmget("hash2", "telphone", "email"); // 4
    for (String element : result) {
        System.out.println(element);
    }
}

3.2.6 Zset

@Test
public void testZset() {
    Jedis jedis = new Jedis("192.168.137.3", 6379);
    jedis.zadd("zset01", 100d, "z3"); // 1
    jedis.zadd("zset01", 90d, "l4");
    jedis.zadd("zset01", 80d, "w5");
    jedis.zadd("zset01", 70d, "z6");

    Set<String> zrange = jedis.zrange("zset01", 0, -1); // 2
    for (String e : zrange) {
        System.out.println(e);
    }
}