Redis Redis(2.6版本以上) Key 常用操作和方法详解

来源:互联网 发布:台州信息网源码 编辑:程序博客网 时间:2024/06/04 23:24
package ddd;import java.io.UnsupportedEncodingException;import java.util.List;import java.util.Set;import redis.clients.jedis.Jedis;public class Key_Redis {/** * WQL  2014-3-3  * Redis Redis(2.6版本以上) Key 常用操作和方法详解 * @param args * @throws UnsupportedEncodingException  */public static void main(String[] args) throws UnsupportedEncodingException {Jedis je=new Jedis("127.0.0.1",6379);je.auth("ycm12345");/** * 删除给定的一个或多个 key 。不存在的 key 会被忽略。 */je.del("kk01","kk02");je.set("kk01", "哈哈,hellwo");/** 序列化给定 key ,并返回被序列化的值*/byte[] b=je.dump("kk01");System.out.println(new String(b,"UTF-8")); //中文乱文/** 检查给定 key 是否存在。 */boolean exists=je.exists("kk01");System.out.println(exists);/**Key 查找 * KEYS * 匹配数据库中所有 key 。KEYS h?llo 匹配 hello ,hallo 和 hxllo 等。KEYS h*llo 匹配 hllo 和 heeeeello 等。KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。 * */Set<String> keys=je.keys("*");//返回所有Key,如果Key很多,不要这么做,会相当慢/** * 将 key 原子性地从当前实例传送到目标实例的指定数据库上, * 一旦传送成功,key 保证会出现在目标实例上,而当前实例上的 key 会被删除。  * 这个命令是一个原子操作,它在执行的时候会阻塞进行迁移的两个实例,直到以下任意结果发生:迁移成功,迁移失败,等到超时。 *///je.migrate("192.168.1.127", 6371, "kk01", 0, 60000);//当前实例己经被删除System.out.println(je.get("kk01"));Jedis je2=new Jedis("192.168.1.127",6371);//新的Redis存储当前Key的值System.out.println(je2.get("kk01"));//为了方便测试,重新在6379赋值je.set("kk01", "哈哈,hellwo");/** 将当前数据库的 key 移动到给定的数据库 db 当中。如果当前数据库 (源数据库) 和给定数据库 (目标数据库) 有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。 */je.move("kk01", 1);System.out.println("------------------------");//返回给定 key 引用所储存的值的次数。此命令主要用于除错。System.out.println(je.objectEncoding("kk01"));//返回给定 key 引用所储存的值的次数。此命令主要用于除错。System.out.println(je.objectRefcount("kk01"));/** 从当前数据库中随机返回 (不删除) 一个 key 。*/String key=je.randomKey();System.out.println(key);/**改名Key*/je.rename("kk01", "new_kk01");System.out.println(je.get("new_kk01"));/** 当且仅当 newkey 不存在时,将 key 改名为 newkey 。 */je.renamenx("new_kk01", "new_n_kk001");je.rename("new_n_kk001", "kk01");/** 以秒为单位,返回给定 key 的剩余生存时间 (TTL, time to live)。 * 在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1 。 *  */Long ttl=je.ttl("kk001");System.out.println(ttl);/** * none (key 不存在)string (字符串)list (列表)set (集合)zset (有序集)hash (哈希表) *  */String t=je.type("kk01");System.out.println(t);}}

0 0
原创粉丝点击