Redis Redis(2.6版本以上) Key 常用操作和方法详解
2014-03-03 16:04
435 查看
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); } }
相关文章推荐
- Redis Redis(2.6版本以上) Key 常用操作和方法详解
- Redis Redis(2.6版本以上) Hash 常用操作和方法详解
- Redis Redis(2.6版本以上) Hash 常用操作和方法详解
- Redis(2.6版本以上) String 常用操作和方法详解
- Redis(2.6版本以上) String 常用操作和方法详解
- NoSQL中的redis中的操作key的常用方法
- mybatis自带常用操作数据库方法详解以及如何搭建简单的mybatis环境
- Redis对于Key的常用操作,基于版本3.0.7
- 详解JavaScript操作URL的方法(单页应用常用)
- Java中Calendar时间操作常用方法详解
- python操作mysql数据库的常用方法使用详解
- python操作mysql数据库的常用方法使用详解
- c#操作XML常用方法
- mysql中配置ssl_key、ssl-cert、ssl-ca的路径及建立ssl连接(适用于5.7以下版本,5.7及以上请看本文末尾的备注)
- MongoDB常用操作---查询find方法
- 【Java】StringUtils工具类常用方法详解
- ASP.NET中常用的优化性能方法详解
- Boolean对象常用属性及方法详解
- Eclipse4.4.2及以上版本中快速打开项目所在文件夹的方法
- VC++常用数据类型及其操作详解