2021-08-05-Jedis String List Hash

本文详细介绍了使用Redis进行集合操作、字符串增删改查、哈希表操作,包括set、list、hash等数据结构的实例和命令演示。涉及 incr/decr、setex、ltrim/rtrim、hset/hmset等关键功能。

redis:

删除一切集合:

del key

nx结尾是有关线程的。这里无记录

Set Operation:
List Operation:

   Jedis jedis = new Jedis("127.0.0.1",6379);
        jedis.select(0);
        jedis.set("good","en");
        jedis.get("good");
        //如果不是成对出现,运行时才报错
        jedis.mset("AA","aa","BB","bb","CC","cc");
        System.out.println("look:");
        System.out.println(jedis.get("AA"));
        System.out.println(jedis.get("BB"));
        System.out.println(jedis.get("CC"));
        List<String> mget = jedis.mget("黄钰帆p", "陈智凯p", "陆国强p");
        for (String s : mget) {
            System.out.println("phone:"+s);
        }
		//string incr incrby decr decrby
		jedis.set("testIncr","0");
        System.out.println(jedis.get("testIncr"));
        jedis.incr("testIncr");
        System.out.println(jedis.get("testIncr"));
        jedis.incrBy("testIncr",2);
        System.out.println(jedis.get("testIncr"));
        System.out.println(jedis.get("testIncr"));
        jedis.decrBy("testIncr",2);
        System.out.println(jedis.get("testIncr"));
        jedis.decr("testIncr");
        System.out.println(jedis.get("testIncr"));
		
		//用过的手机验证码 setex
        jedis.setex("validatecode",5,"10086");
        jedis.ttl("validatecode");
		System.out.println(jedis.strlen("validatecode"));
		//append到value后面
		jedis.append("validatecode","good");
//        1008611good     原来
//        8611good          3,-1
//          8611            3,6

		//查询3开始到6 下标
        System.out.println(jedis.getrange("validatecode", 3, 6));        
		//相当于set改变index为4的值为1(改变原数据)
		jedis.setrange("validatecode",4,"1");

		//截取从0下标开始,到2下标  ==0,1,2保留下来
        jedis.ltrim("num",0,2);
        //只能看一眼
        System.out.println(jedis.lrange("num", 0, -1));
        //截取从2开始  -1表示一直到末尾。
        jedis.ltrim("num",2,-1);
        System.out.println(jedis.lrange("num",0,-1));
        //去掉所有---start比end大即可
        jedis.ltrim("num",1,0);
        System.out.println(jedis.lrange("num",0,-1));

        //先存好这个链表,然后头接上原来最右边的位置
        jedis.rpush("num","1","2");
        jedis.rpush("num","6","7","8");
        //先存好这个链表,然后头接上原来最左边的位置
        jedis.lpush("num","0","-1");

        //删除最右边
        jedis.rpop("num");
        //删除最左边
        jedis.lpop("num");

        //只能看一眼
        System.out.println(jedis.lrange("num", 0, -1));

Hset Operation:

 Jedis jedis = new Jedis("127.0.0.1",6379);
        jedis.select(0);
        jedis.hset("person","able","good");

        jedis.hmset("person",new HashMap<String, String>(){
            {
                put("name","hyf");
                put("age","23");
                put("1+1","2");
            }
        });

        List<String> hmget = jedis.hmget("person", "name", "age");
        for (String s : hmget) {
            System.out.println(s);
        }

        //由于最后的value 2的哈希值小,因此先输出了2
        Map<String, String> person = jedis.hgetAll("person");
        for (String value : person.values()) {
            System.out.println(value);
        }

        jedis.hget("person","name");
        jedis.hdel("person","1+1","age");
        System.out.println("final:");
        //由于最后的value 2的哈希值小,因此先输出了2
//        Map<String, String> person = jedis.hgetAll("person");
        for (String value : person.values()) {
            System.out.println(value);
        }

		Set<String> person = jedis.hkeys("person");
        for (String s : person) {
            System.out.println(s);
        }
        List<String> person1 = jedis.hvals("person");
        for (String s : person1) {
            System.out.println(s);
        }
        //键个数
		System.out.println(jedis.hlen("person"));
		//查看key是否存在
		System.out.println(jedis.hexists("person", "name"));
        System.out.println(jedis.hexists("person", "aabb"));
        //增长(必须为数字)
        jedis.hincrBy("person","age",2);
        System.out.println(jedis.hget("person", "age"));
        //一旦转换成了float,就回不去了(INT)
        jedis.hincrByFloat("person","age",0.5);
        System.out.println(jedis.hget("person", "age"));
        jedis.hincrByFloat("person","age",2);
        System.out.println(jedis.hget("person", "age"));


		//list指定索引
        System.out.println(jedis.lindex("myList", 0));
		//在某个值里 前或后 插入	value	jedis.linsert("myList",BinaryClient.LIST_POSITION.AFTER,"0","15");
        System.out.println(jedis.lrange("myList", 0, -1));
        //set改变list索引位置的值
        jedis.lset("myList",1,"500");
        System.out.println(jedis.lrange("myList", 0, -1));

		//删除一个key为1的元素
        Long myList0 = jedis.lrem("myList", 1, "1");
        //count==0表示全部删除 key为1的元素
        Long myList1 = jedis.lrem("myList", 0, "1");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值