• 使用Jedis操作Redis-使用Java语言在客户端操作---对key的操作


      1 //添加String类型的模拟数据。
      2         jedis.set("mykey", "2");
      3         jedis.set("mykey2", "hello");
      4         //添加Set类型的模拟数据。
      5         jedis.sadd("mysetkey", "1","2","3");
      6         //添加Hash类型的模拟数据。
      7         jedis.hset("mmtest", "username", "stephen");
      8         
      9         //根据参数中的模式,获取当前数据库中符合该模式的所有key,从输出可以看出,该命令在执行时并不区分与Key关联的Value类型。
     10         Set<String> keys = jedis.keys("my*");
     11         System.out.println("keys= "+keys);//keys= [mysetkey, mykey2, mykey]
     12         
     13         //删除了两个keys
     14         Long del = jedis.del("mykey","mykey2");
     15         System.out.println("del: "+del);//del: 2
     16         
     17         //查看一下刚刚删除的Key是否还存在,从返回结果看,mykey确实已经删除了。
     18         Boolean exists = jedis.exists("mykey");
     19         System.out.println(exists);//false
     20         
     21         //查看一下没有删除的Key,以和上面的命令结果进行比较。
     22         Boolean exists2 = jedis.exists("mysetkey");
     23         System.out.println("exists2: "+exists2);//exists2: true
     24         
     25         //将当前数据库中的mysetkey键移入到ID为1的数据库中,从结果可以看出已经移动成功。
     26         Long move = jedis.move("mysetkey", 1);
     27         System.out.println("move: "+move);//move: 1
     28         
     29         //打开ID为1的数据库。
     30         String select = jedis.select(1);
     31         System.out.println("select: "+select);//select: OK
     32         
     33         //查看一下刚刚移动过来的Key是否存在,从返回结果看已经存在了。
     34         System.out.println(jedis.exists("mysetkey"));//true
     35         
     36         //再重新打开ID为0的缺省数据库。
     37         String select2 = jedis.select(0);
     38         
     39         //查看一下刚刚移走的Key是否已经不存在,从返回结果看已经移走。
     40         System.out.println(jedis.exists("mysetkey"));//false
     41         
     42         //==============》》》》》》》》》》》》》》》》
     43         
     44         //清空当前选择的数据库
     45         jedis.flushAll();
     46         jedis.set("mykey", "hello");
     47         //将mykey改名为mykey1
     48         String rename = jedis.rename("mykey", "mykey1");
     49         System.out.println("rename: "+rename);//rename: OK
     50         
     51         //由于mykey已经被重新命名,再次获取将返回null
     52         System.out.println(jedis.get("mykey"));//null
     53         
     54         //通过新的键名获取
     55         System.out.println(jedis.get("mykey1"));//hello
     56         
     57         //由于mykey已经不存在了,所以返回错误信息。
     58         String rename2 = jedis.rename("mykey", "mykey1");
     59         System.out.println("rename2: "+rename2);
     60         //redis.clients.jedis.exceptions.JedisDataException: ERR no such key
     61 
     62         
     63         jedis.set("oldkey", "hello");
     64         jedis.set("newkey", "world");
     65         
     66         //由于newkey已经存在,因此该命令未能成功执行
     67         Long renamenx = jedis.renamenx("oldkey", "newkey");
     68         System.out.println("renamenx: "+renamenx);//renamenx: 0
     69         
     70         //查看newkey的值,发现它也没有被renamenx覆盖。
     71         System.out.println(jedis.get("newkey"));//world
     72         
     73         
     74         //=================>>>>>>>>
     75         //清空当前选择的数据库
     76         jedis.flushAll();
     77         
     78         jedis.set("mykey", "hello");
     79         
     80         //将该键的超时设置为100秒。
     81         Long expire = jedis.expire("mykey", 100);
     82         System.out.println("expire: "+expire);//expire: 1
     83         
     84         //通过ttl命令查看一下还剩下多少秒。
     85         Long ttl = jedis.ttl("mykey");
     86         System.out.println("ttl: "+ttl);//ttl: 98
     87         
     88         //立刻执行persist命令,该存在超时的键变成持久化的键,即将该Key的超时去掉。
     89         Long persist = jedis.persist("mykey");
     90         System.out.println("persist: "+persist);//persist: 1
     91         
     92         //ttl的返回值告诉我们,该键已经没有超时了。
     93         System.out.println(jedis.ttl("mykey"));//-1
     94         
     95         //为后面的expire命令准备数据。
     96         jedis.del("mykey");
     97         
     98         jedis.set("mykey", "hello");
     99         
    100         //设置该键的超时为100秒。
    101         jedis.expire("mykey", 100);
    102         
    103         //用ttl命令看一下当前还剩下多少秒,从结果中可以看出还剩下96秒。
    104         System.out.println(jedis.ttl("mykey"));//96
    105         
    106         //重新更新该键的超时时间为20秒,从返回值可以看出该命令执行成功。
    107         System.out.println(jedis.expire("mykey", 20));//1
    108         
    109         //再用ttl确认一下,从结果中可以看出果然被更新了。
    110         System.out.println(jedis.ttl("mykey"));//18
    111         
    112         //立刻更新该键的值,以使其超时无效。
    113         System.out.println(jedis.set("mykey", "world"));//ok
    114         
    115         //#从ttl的结果可以看出,在上一条修改该键的命令执行后,该键的超时也无效了。
    116         System.out.println(jedis.ttl("mykey"));//-1
    117         
    118         //================>>>>>>>>>>>>>>>>>
    119         
    120         //查看键的数据类型
    121         //由于mm键在数据库中不存在,因此该命令返回none
    122         String type = jedis.type("mm");
    123         System.out.println(type);//none
    124         
    125         String type2 = jedis.type("mykey");
    126         System.out.println("type2= "+type2);//type2= string
    127         
    128         //准备一个值是set类型的键
    129         jedis.sadd("mysetkey", "1","2");
    130         
    131         //mysetkey的键是set,因此返回字符串set。
    132         String type3 = jedis.type("mysetkey");
    133         System.out.println("type3= "+type3);//type3= set
    134         
    135         //返回数据库中的任意键。
    136         String randomKey = jedis.randomKey();
    137         System.out.println("randomkey= "+randomKey);//randomkey= mykey  这个值是随机的
    138         
    139         //清空当前打开的数据库。
    140         jedis.flushAll();
    141         
    142         
    143         //由于没有数据了,因此返回null
    144         System.out.println(jedis.randomKey());//null
    145         
  • 相关阅读:
    质数学习笔记
    一本通 1615:【例 1】序列的第 k 个数
    2019.05.09考试解题报告
    洛谷 P1057 传球游戏
    浅谈逆序对
    Set学习笔记
    洛谷 P1115 最大子段和
    洛谷 P1234 小A的口头禅
    About Her
    洛谷 P1164 小A点菜
  • 原文地址:https://www.cnblogs.com/lixianyuan-org/p/9515178.html
Copyright © 2020-2023  润新知