jedisAPI方法

package com.bgs.jedis;

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool;

import java.util.*;

public class TestJedis {
    public static void main(String[] args) {

    /*    //测试jedis连接
        Jedis jedis = new Jedis("192.168.44.9",6379);

        System.out.println(jedis.keys("*"));*/

        //jedis连接池的使用
       JedisPool jedisPool = new JedisPool("192.168.44.9",6379);
        Jedis jedis2 = jedisPool.getResource();
        jedis2.set("key1","val1");
        String key1 = jedis2.get("key1");
        System.out.println(key1);
/*
       //jedis集群的使用
       Set<HostAndPort> nodes = new HashSet<>();
       nodes.add(new HostAndPort("192.168.44.9",7001));
       nodes.add(new HostAndPort("192.168.44.9",7002));
       nodes.add(new HostAndPort("192.168.44.9",7003));
       nodes.add(new HostAndPort("192.168.44.9",7004));
       nodes.add(new HostAndPort("192.168.44.9",7005));
       nodes.add(new HostAndPort("192.168.44.9",7006));

        JedisCluster jedisCluster = new JedisCluster(nodes);
        jedisCluster.set("k1","v1");
        System.out.println(jedisCluster.get("k1"));

        //jedis遍历set集合
        JedisPool jedisPool2 = new JedisPool("192.168.44.9",6379);
        Jedis jedis3 = jedisPool.getResource();
        jedis.set("k2","v2");
        jedis.set("k3","v3");

        Set<String> keys = jedis.keys("*");

        for (String string:keys){
            System.out.println(string);
        }
        //迭代器遍历
        Iterator<String> iterator = keys.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
        //jedis是否存中key值
        System.out.println(jedis.exists("k1"));
        System.out.println(jedis.exists("k2"));

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

        //把当前库中的剪切到其他库
        *//*Long j11 = jedis.move("j1", 2);
        System.out.println("把当前库中的剪切到其他库"+j11);*//*
        //为给定的key设置过期时间
        *//*Long m2 = jedis.expire("j3", 21);
        System.out.println("为给定的key设置过期时间"+m2);*//*
        //跟expire的作用一样:为给定的key设置过期时间
       *//* Long j21 = jedis.pexpire("j2", 20);
        System.out.println("为给定的key设置过期时间"+j21);*//*

        //查看还有多少秒过期,-1表示永不过期,-2表示已经过期
        *//*Long ll = jedis.ttl("j3");
        System.out.println("过期剩余时间:"+ll);*//*
        //查看你的key是什么类型
        *//*String ff = jedis.type("j3");
        System.out.println("查看你的key是什么类型:"+ff);*//*


        //String
        //在原有的value后面追加
        Long j3 = jedis.append("j3", "66555441");
        System.out.println("在原有的value后面追加:"+j3);
        //查看当前value的长度
        Long j31 = jedis.strlen("j3");
        System.out.println("查看当前value的长度:"+j31);
        //递增 每次+1
        jedis.set("shu","11");
        System.out.println(jedis.get("shu"));
        Long shu = jedis.incr("shu");
        System.out.println("递增 每次+1:"+shu);
        //递减 每次-1
        Long shu1 = jedis.decr("shu");
        System.out.println("递减 每次-1:"+shu1);
        //每次递增步长的长度
        Long shu2 = jedis.incrBy("shu", 50);
        System.out.println("每次递增步长的长度50:"+shu2);
        //每次递减步长的长度
        Long shu3 = jedis.decrBy("shu", 40);
        System.out.println("每次递减步长的长度40:"+shu3);
        //获取指定区间范围的值
        *//*jedis.set("cv","keaidexiaoxiannv");
        String cv = jedis.getrange("cv", 0, 9);
        System.out.println("获取指定区间范围的值:"+cv);*//*
        //设置指定区间范围的值
        *//*Long setrange = jedis.setrange("cv", 0, "dada");
        System.out.println("设置指定区间范围的值:"+setrange);*//*
        //先判断当前key是否存在,存在则报错,不存在才会进行创建
        *//*Long setnx = jedis.setnx("vbn", "vbn");
        System.out.println("vbn:"+setnx);
        Long setnx1 = jedis.setnx("cv", "ccc");
        System.out.println("ccc:"+setnx1);*//*


        //list
        //左添加
        Long list1 = jedis.lpush("list1","s1","s2","s3","s4","s5");
        System.out.println("左添加:"+list1);
        //右添加
        Long rpush = jedis.rpush("list2", "d1", "d2", "d3", "d4");
        System.out.println("右添加:"+rpush);
        //取值范围:下标:一组值
        *//*List<String> list11 = jedis.lrange("list1", 0, 3);  //0  -1就是取全部
        System.out.println("取值范围开始结束:"+list11);*//*
        //用于移除并返回列表的第一个元素
        *//*String list12 = jedis.lpop("list1");
        System.out.println("用于移除并返回列表的第一个元素:"+list12);*//*
        //用于移除并返回列表的最后一个元素
        *//*String list13 = jedis.rpop("list1");
        System.out.println("用于移除并返回列表的最后一个元素:"+list13);*//*
        //按照索引下标获得元素(从上到下)
        *//*String list2 = jedis.lindex("list2", 3);
        System.out.println("按照索引下标获得元素(从上到下):"+list2);*//*
        //在指定的列表中删除指定个数的value
        *//*Long lrem = jedis.lrem("list2", 1, "d1");
        System.out.println("在指定的列表中删除指定个数的value:"+lrem);*//*
        //截取指定范围的值后再赋给当前key
        *//*String list11 = jedis.ltrim("list1", 0, 1);
        System.out.println("截取指定范围的值后再赋给当前key:"+list11);*//*
        //给指定的下标赋值
        *//*String lset = jedis.lset("list1", 1, "xixi");
        System.out.println("给指定的下标赋值:"+lset);*//*
        //在指定的位置插入数据before/after
        *//*Long linsert = jedis.linsert("list1", BinaryClient.LIST_POSITION.BEFORE, "s1", "hh1");
        System.out.println("在指定的位置插入数据:"+linsert);

        获取集合的长度
        Long length = jedis.llen("list1");
*//*



        //set
        //添加set集合
        Long sadd = jedis.sadd("set1", "s1", "s2", "s3", "s4", "s5", "s6", "s6","s7");
        Long sadd1 = jedis.sadd("set2", "s1", "s2", "s3", "s4", "s5", "s6", "s6");
        System.out.println("添加set集合:"+sadd);
        System.out.println("添加set集合:"+sadd1);
        //返回集合中的所有成员
        Set<String> set1 = jedis.smembers("set1");
        System.out.println("返回集合中的所有成员:"+set1);
        for(String s:set1){
            System.out.println(s);
        }
        //判断成员元素是否是集合的成员
        Boolean sismember = jedis.sismember("set1", "s1");
        System.out.println("判断成员元素是否是集合的成员:"+sismember);
        //获取集合里面的元素个数
        Long set11 = jedis.scard("set1");
        System.out.println("获取集合里面的元素个数:"+set11);
        //删除集合中的元素
        *//*Long srem = jedis.srem("set1", "s1","s2");
        System.out.println("删除集合中的元素:"+srem);*//*
        //随机出几个数
        List<String> set12 = jedis.srandmember("set1", 4);
        System.out.println("随机出几个数:"+set12);
        Iterator<String> iterator1 = set12.iterator();
        while (iterator1.hasNext()){
            String next = iterator1.next();
            System.out.println(next);
        }
        //随机出栈(出一个)
        String set13 = jedis.spop("set1");
        System.out.println("随机出栈(出一个):"+set13);
        //作用是将key1里的某个值赋给key2
        Long smove = jedis.smove("set1", "set2", "s1");
        System.out.println("将key1里的某个值赋给key2:"+smove);
        //sdiff 差集
        Set<String> sdiff = jedis.sdiff("set1", "set2");
        System.out.println("差集:"+sdiff);
        for(String ss:sdiff){
            System.out.println(ss);
        }
        //sinter 交集
        Set<String> sinter = jedis.sinter("set1", "set2");
        System.out.println("交集:"+sinter);
        for(String ss1:sinter){
            System.out.println(ss1);
        }
        //sunion 并集
        Set<String> sunion = jedis.sunion("set1", "set2");
        System.out.println("并集:"+sunion);
        for(String s2s:sunion){
            System.out.println(s2s);
        }


        //hash
        //hset:设置hash集合中的数据
        Long hset = jedis.hset("h1", "id", "7");
        System.out.println("设置hash集合中的数据:"+hset);
        //hget:获取哈市集合中的数据
        String hget = jedis.hget("h1", "id");
        System.out.println("获取哈市集合中的数据:"+hget);
        //hmset:设置hahs集合中的多个数据
        Map<String, String> map = new HashMap<String, String>();
        map.put("name", "xinxin");
        map.put("age", "22");
        map.put("qq", "123456");
        jedis.hmset("user",map);
        System.out.println(jedis.hmset("user",map));
        //hmget:获取多个数据
        System.out.println(jedis.hmget("user", "age","name"));
        //hgetall:以key-value的方式获取hash集合中的数据
        //hdel:删除hash集合中的一组键值对
        jedis.hdel("user","age");
        System.out.println(jedis.hmget("user", "age")); //因为删除了,所以返回的是null
        //hlen:获取当前hash集合的长度
        System.out.println("hlen:获取当前hash集合的长度:"+jedis.hlen("user")); //返回key为user的键中存放的值的个数2
        //hexists key 属性名 :在key里面是否有某个值的key
        System.out.println("hexists key 属性名 :在key里面是否有某个值的key:"+jedis.exists("user"));//是否存在key为user的记录 返回true
        //hkeys:获取hash中的所有key
        System.out.println("hkeys:获取hash中的所有key:"+jedis.hkeys("user"));//返回map对象中的所有key
        //hvals:获取hash中的所有value
        System.out.println("hvals:获取hash中的所有value:"+jedis.hvals("user"));//返回map对象中的所有value
        //key-value形式
        Iterator<String> iter=jedis.hkeys("user").iterator();
        while (iter.hasNext()){
            String key = iter.next();
            System.out.println("key-value形式"+key+":"+jedis.hmget("user",key));
        }
        //hincrby:对hash中的某个key的value 进行递增
        Long aLong = jedis.hincrBy("user", "age", 2);
        System.out.println("对hash中的某个key的value 进行递增:"+aLong);
        //hincrbyfloat:对hash中的某个key的value 进行递增
        Double aDouble = jedis.hincrByFloat("user", "score", 0.5);
        System.out.println("hincrbyfloat:"+aDouble);



        //redis有序集合Zset(sorted set)
        //zadd:添加一个zset集合
        *//*Map<String,String> map1 = new HashMap<>();
        map1.put("60","v1");
        map1.put("70","v2");
        map1.put("80","v3");*//*
        jedis.zadd("zset1",60,"v1");
        jedis.zadd("zset1",70,"v2");
        jedis.zadd("zset1",80,"v3");
        //zrange:获取一个zset集合的元素
        System.out.println(jedis.zrange("zset1",0,1));
        //zrangbyscore:在zset集合中截取元素
        System.out.println(jedis.zrangeByScore("zset1",60,70,0,2));
        //zrem :删除元素
        System.out.println(jedis.zrem("zset1","v1","v2"));
        //zcard:统计zset的个数
        System.out.println(jedis.zcard("zset1"));
        //zcount:统计score区间的个数
        System.out.println(jedis.zcount("zset1",60,70));
        //zrank:获取下标值
        System.out.println(jedis.zscore("zset1","v1"));
        //zscore:获取key对应的数值
        System.out.println();*/

    }
}

猜你喜欢

转载自blog.csdn.net/kxj19980524/article/details/84922415