Java 连接Redis客户端 Jedis

时间:2021-05-04 17:28:28

Java 连接Redis客户端 Jedis

1.首先找到找到 jedis 的jar 包 点击这里

这里我用的是这个

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

最简单的测试:

package com.dyl;

import redis.clients.jedis.Jedis;

import java.util.HashMap;
import java.util.Map;
public class RedisDemo01 {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("127.0.0.1",6379);
        jedis.set("java","世界上最好的语言");
        jedis.set("age","1");
        System.out.println(jedis.incrBy("age", 10));
        System.out.println(jedis.get("java"));
        //hash
        jedis.hset("person","name","zhangsan");
        Map<String,String> mp = new HashMap<String,String>();
        mp.put("age","10");
        mp.put("city","Beijing");
        jedis.hmset("person",mp);
        System.out.println(jedis.hgetAll("person"));
        //list
        jedis.lpush("list1","1","2","3");
        System.out.println(jedis.lrange("list1",0,-1));
        //set
        jedis.sadd("set1","a","b","c");
        System.out.println(jedis.smembers("set1"));
        //sortset
        Long zadd = jedis.zadd("set2", 1,"zhansgan");
        System.out.println(jedis.zrangeWithScores("set2",0,-1));


    }
}

输出结果: 
11
世界上最好的语言
{name=zhangsan, city=Beijing, age=10}
[3, 2, 1, hash1, hash1, b, bb, d, e, f, a, 1, 2, 3]
[b, c, a]
[[zhansgan,1.0]]

通过连接池获取连接

package com.dyl;

import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

public class Redisdemo02 {
    public static void main(String[] args) {
        GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
        JedisPool jedisPool = new JedisPool("127.0.0.1",6379);
        Jedis jedis = null;
        try {
            jedis = jedisPool.getResource();
            System.out.println(jedis.get("java"));
        }catch (Exception e){
            System.out.println(e.getMessage());
        }finally {
            if (jedis==null){
                jedis.close();
            }
        }
    }
}
运行结果
世界上最好的语言

Pipeline //批量

package com.dyl;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.Pipeline;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

public class RedisDemo03 {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("127.0.0.1",6379);
        Set<String> keys1 = jedis.keys("*");
        for(String k:keys1){
            System.out.println(k);
        }
        System.out.println("================");
        List<String> keys = new ArrayList<String>() {//这个大括号 就相当于我们  new 接口
            {//这个大括号 就是 构造代码块 会在构造函数前 调用
                add("xx");
                add("a");
            }
        };
        Pipeline pipeline = jedis.pipelined();
        for (String key:keys){
            pipeline.del(key);
        }
        pipeline.sync();
        keys1 = jedis.keys("*");
        for(String k:keys1){
            System.out.println(k);
        }
    }
}
a
b
set
c
hash1
d
set2
e
list
rank1
ranks
person
str1
str2
listKey
rank
set1
key
age
================
b
set
c
hash1
d
set2
e
list
rank1
ranks
person
str1
str2
listKey
rank
set1
key
age