Java操作Redis

环境准备

1 引入依赖
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>3.3.0</version>
</dependency>
创建jedis对象并测试
public class TestRedis {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("39.99.236.216",7000);

        //选择使用一个库  默认使用0号库
        jedis.select(0);

        //获取redis中所有key信息
        Set<String> keys = jedis.keys("*");
        keys.forEach(key -> System.out.println("key = " + key));
        //释放资源
        jedis.close();
    }
}

结果如下:

java获取redis有效时间 java获取redis所有key_Test

操作key相关API

public class testKey {
    private Jedis jedis;

    @Before
    public void before(){
        //每次一开始为成员变量jedis复制
        this.jedis = new Jedis("39.99.236.216",7000);
    }

    @After
    public void after(String s){
        jedis.close();
    }
//测试key相关
@Test
public void testKeys(){
    //删除一个或多个key
    jedis.del("set4","set5");

    //检查key是否存在
    Long exists = jedis.exists("zset1", "maps");
    System.out.println(exists);

    //设置生存时间
    jedis.expire("set3",100);

    //查询剩余时间
    Long set3 = jedis.ttl("set3");
    System.out.println(set3);

    //获得随机key
    String s = jedis.randomKey();
    System.out.println(s);

    //给key改名
    jedis.rename("list1","lists");

    //查询key的类型
    String lists = jedis.type("lists");
    System.out.println(lists);
}
}

java获取redis有效时间 java获取redis所有key_Test_02

操作String相关API

//测试String相关
@Test
public void testKeys(){
    //设置一个key/value
    	//jedis.set("string1","aaa");

    //根据key获得对应的value
        //String s = jedis.get("string1");
        //System.out.println(s);

    //设置过个key/value
    	//jedis.mset("string2","bbb","string3","ccc");

    //获取多个key的value
        //List<String> mget = jedis.mget("string1", "string2", "string3");
        //mget.forEach(get -> System.out.println("get = " + get));

    //获得原始key值,同时设置新值
        //String set = jedis.getSet("string1", "ddd");
        //System.out.println(set);

    //获得对应key存储value的长度
        //Long string1 = jedis.strlen("string1");
        //System.out.println(string1);

    //为对应的key的value追加内容
    	//jedis.append("string1","abc");

    //截取value的内容
        //String string1 = jedis.getrange("string1", 0, -1);
        //System.out.println(string1);

    //设置一个key存活的有效期
        //jedis.setex("string5",100,"eee");
        //Long string5 = jedis.ttl("string5");
        //System.out.println(string5);

    //数值类型的-1操作
        //Long age = jedis.decr("age");
        //System.out.println(age);

    //根据提供的数据进行减法操作
        //Long age1 = jedis.decrBy("age", 10);
        //System.out.println(age1);
}

java获取redis有效时间 java获取redis所有key_Test_03

操作List相关API

//测试String相关
@Test
public void testKeys(){
    //将某个值加入到一个key列表头部
    	//jedis.lpush("listA","aaa","bbb","ccc");

    //将某个值加入到一个key列表末尾
    	//jedis.rpush("listA","ddd","eee","fff");

    //返回移除列表的第一个元素
    	//jedis.lpop("listA");

    //返回移除列表的最后一个元素
    	//jedis.rpop("listA");

    //获取某一个下标区间内的元素
        //List<String> listA = jedis.lrange("listA", 0, 1);
        //listA.forEach(A -> System.out.println("A = " + A));

    //获取列表元素个数
        //Long listA = jedis.llen("listA");
        //System.out.println(listA);

    //设置某一个指定索引的值(索引必须存在)
    	//String lset = jedis.lset("listA", 0, "hhh");

    //获取某一个指定索引位置的元素
        //String listA = jedis.lindex("listA", 0);
        //System.out.println(listA);

    //删除重复元素
    	//jedis.lrem("listA",2,"hhh");

    //保留列表中特定区间内的元素
    	//jedis.ltrim("listA",0,1);

    //在某一个元素之前,之后插入新元素
    	//jedis.linsert("listA",ListPosition.BEFORE,"sss","fff");


}