使用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         

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM