244_Redis_jedis操作

举报
alexsully 发表于 2021/12/09 11:24:13 2021/12/09
【摘要】 jedis操作相关数据类型

测试相关数据类型

1 连接

 //创建Jedis对象
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        String ping = jedis.ping();
        System.out.println(ping); //PONG
        jedis.close();

2 string 

 @Test
    public void demoString(){
        //创建Jedis对象
        Jedis jedis = new Jedis("127.0.0.1", 6379);

        //set get mset mget strlen
        jedis.mset("k1", "v1", "k2","v2");
        System.out.println(jedis.mget("k1", "k2")); //[v1, v2]
        System.out.println(jedis.strlen("k1")); //2

        // incr decr incrby decrby
        jedis.set("number", "1");
        jedis.incr("number");
        jedis.incrBy("number", 10);
        System.out.println(jedis.get("number")); //12

        // ttl setex
        jedis.setex("k3", 10, "expire");  //expire 是value

        System.out.println(jedis.ttl("k3"));

        jedis.close();

    }

3 list

@Test
    public void DemoList(){
        //创建Jedis对象
        Jedis jedis = new Jedis("127.0.0.1", 6379);

        // lpush 添加
        jedis.lpush("list1","alex","bob","tieniu","jiefu");

        // lrange  llen查询
        List<String> list1 = jedis.lrange("list1", 0, -1);
        System.out.println(list1); //[[jiefu, tieniu, bob, alex]
        System.out.println(jedis.llen("list1")); //4

        //lrem key移除列表中与参数 VALUE 相等的元素
        jedis.lrem("list1",1 , "jiefu");

        // linsert key before/after
        jedis.linsert("list1", ListPosition.BEFORE, "tieniu","jiefu2" );
        System.out.println(jedis.lrange("list1", 0 , -1)); //[jiefu2, tieniu, bob, alex]
        jedis.close();

    }

4 hash

 @Test
    public void demoHash(){
        //创建Jedis对象
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        // hset hget hmset hmget
        HashMap<String, String> m1 = new HashMap<>();
        m1.put("name","bob");
        m1.put("age" ,"40");
        jedis.hmset("user2" , m1);

        jedis.hset("user1", "name", "alex");

        System.out.println(jedis.hget("user1", "name") + jedis.hget("user2", "name")); //alexbob
        Boolean hexists = jedis.hexists("user1", "age");
        System.out.println(jedis.hvals("user2"));

        jedis.close();
        
    }

5 set

@Test
    public void demoSet(){
        //创建Jedis对象
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        jedis.sadd("k1", "v1", "v2", "v3");
        jedis.sadd("k2", "v1", "v20", "v30");

        //smembers返回集合中的所有的成员
        Set<String> s1 = jedis.smembers("k1");
        System.out.println(s1); //[v2, v1, v3]  体现了无序性
        System.out.println(jedis.scard("k1"));  //3

        // sdiff sinter sunion
        Set<String> sinter = jedis.sinter("k1", "k2");
        Set<String> sunion = jedis.sunion("k1", "k2");
        Set<String> sdiff = jedis.sdiff("k1", "k2");
        System.out.println(sinter); //[v1]
        System.out.println(sunion); //[v1, v2, v30, v3, v20]
        System.out.println(sdiff); //[v2, v3]

        // 移除
        jedis.srem("k1", "v3");
        System.out.println(jedis.scard("k1")); //2
        jedis.close();
    }

6 zset

 @Test
    public void demoZset(){
        //创建Jedis对象
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        jedis.zadd("top" ,35, "alex");
        jedis.zadd("top" ,40, "bob");
        jedis.zadd("top" ,33, "jiefu");
        jedis.zadd("top" ,30, "niuniu");

        Set<String> top = jedis.zrange("top", 0, -1);
        Set<Tuple> top1 = jedis.zrangeWithScores("top", 0, -1);
        Set<Tuple> top2 = jedis.zrevrangeWithScores("top", 0, -1);
        System.out.println(top);  //[niuniu, jiefu, alex, bob]
        System.out.println(top1); //[[niuniu,30.0], [jiefu,33.0], [alex,35.0], [bob,40.0]]
        System.out.println(top2); //[[bob,40.0], [alex,35.0], [jiefu,33.0], [niuniu,30.0]]
        jedis.close();
    }

maven 配置

<dependencies>
      <dependency>
          <groupId>redis.clients</groupId>
          <artifactId>jedis</artifactId>
          <version>3.2.0</version>
      </dependency>
      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <scope>compile</scope>
      </dependency>
  </dependencies>
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。