基于JAVA的redis使用(Jedis-API)

2018-11-23  本文已影响3人  张艺
使用工具intellij-idea创建一个maven工程

pom.xml中配置依赖

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

创建客户端

        // 创建一个redis连接(也可以创建池)
        Jedis jedis = new Jedis("127.0.0.1", 6379);

字符串操作

        // 写入一个字符串;
        jedis.set("key1", "string-value1");
        String value1 = jedis.get("key1");
        // 打印string-value1
        System.out.println(value1);
        // key不存在则返回 null
        System.out.println(jedis.get("anyKey"));

hash操作,写入一个hashMap

        // 写入一个hash
        HashMap<String, String> hashMap = new HashMap<String, String>();
        hashMap.put("name", "zhang-");
        hashMap.put("age", "36");

        jedis.hmset("user", hashMap);

获取按map中的key来获取数据,得到一个list

        List<String> hmget = jedis.hmget("user", "name", "age");
        System.out.println(hmget);

判断hashMap中是否存在某个字段

        Boolean isExist = jedis.hexists("user", "name");

删除某个字段

        jedis.hdel("user", "name");

获取整个hashMap

        Map<String, String> map = jedis.hgetAll("user");

写入一个list(列表)

      // 在头部写入数据,列表数据是 [name2, name1]
      jedis.lpush("user", "name1", "name2");

      // 在尾部写入数据,列表数据是[name1, name2]
      jedis.rpush("user", "name1", "name2");

      // 按索引来获取数据
      jedis.lindex("key", 1);

      // 获取列表的长度
      long length = jedis.llen("user2");

无序set操作

        // 创建一个set
        jedis.sadd("set1", "value1");
        jedis.sadd("set1", "value2");
        jedis.sadd("set1", "value3");

        // 获取整个set
        Set<String> set1 = jedis.smembers("set1");

        // 移出某个value
        jedis.srem("set1", "value2");

        // 判断是否存在该value
        boolean sismember = jedis.sismember("set1", "value2");

有序set操作

        // 有序set
        jedis.zadd("set2", 1, "value1");
        jedis.zadd("set2", 10, "value10");
        jedis.zadd("set2", 11, "value11");
        jedis.zadd("set2", 9, "value9");
        jedis.zadd("set2", 5, "value5");

        // 获取set的长度
        Long set21 = jedis.zcard("set2");
        System.out.println(set21);
        
        // 获取set的片段
        Set<String> set2 = jedis.zrange("set2", 0, 10);
        System.out.println(set2);
上一篇 下一篇

猜你喜欢

热点阅读