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

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. package ddd;  
  2.   
  3. import java.util.HashMap;  
  4. import java.util.List;  
  5. import java.util.Map;  
  6. import java.util.Set;  
  7.   
  8. import redis.clients.jedis.Jedis;  
  9.   
  10. public class Hash_Redis {  
  11.   
  12.     /** 
  13.      * WQL 
  14.      * Redis Redis(2.6版本以上) Hash 常用操作和方法详解 
  15.      * @param args 
  16.      */  
  17.     public static void main(String[] args) {  
  18.         Jedis je=new Jedis("127.0.0.1",6379);  
  19.         je.auth("ycm12345");  
  20.           
  21.         /** 
  22.          * 将哈希表 key 中的域 field 的值设为 value 。 
  23.             如果 key 不存在,一个新的哈希表被创建并进行HSET 操作。 
  24.             如果域 field 已经存在于哈希表中,旧值将被覆盖。 
  25.          */  
  26.         je.hset("hk""f1""va1");  
  27.         /** 
  28.          * 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。 
  29.             若域 field 已经存在,该操作无效。 
  30.             如果 key 不存在,一个新哈希表被创建并执行HSETNX 命令。 
  31.          */  
  32.         je.hsetnx("hk""f2""va2");  
  33.           
  34.         /** 
  35.          * 一次存储多个Key和值 
  36.          */  
  37.         Map<String,String> map=new HashMap<String,String>();  
  38.         map.put("f8""v9");  
  39.         map.put("f9""v9");  
  40.         je.hmset("hk", map);  
  41.           
  42.           
  43.         /** 返回哈希表 key 中所有域的值。 */  
  44.         List<String> values=je.hvals("hk");  
  45.         System.out.println(values);  
  46.           
  47.         /**  删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。 */  
  48.         je.hdel("hk""f1","f3");  
  49.           
  50.         /** 查看哈希表 key 中,给定域 field 是否存在。 */  
  51.         boolean existsFile=je.hexists("hk""f2");  
  52.         System.out.println(existsFile);  
  53.           
  54.         /** 返回哈希表 key 中给定域 field 的值。 */  
  55.         String fe=je.hget("hk""f2");  
  56.         System.out.println(fe);  
  57.           
  58.         /**  返回哈希表 key 中,所有的域和值。 
  59.         在返回值里,紧跟每个域名 (field name) 之后是域的值 (value), 
  60.         所以返回值的长度是哈希表大小的两倍。 */  
  61.         Map<String,String> all=je.hgetAll("hk");  
  62.           
  63.           
  64.         /** 
  65.          * 为哈希表 key 中的域 field 的值加上增量 increment 。 
  66.             增量也可以为负数,相当于对给定域进行减法操作。 
  67.             如果 key 不存在,一个新的哈希表被创建并执行HINCRBY 命令。 
  68.             如果域 field 不存在,那么在执行命令前,域的值被初始化为 0 。 
  69.             对一个储存字符串值的域 field 执行HINCRBY 命令将造成一个错误。 
  70.             本操作的值被限制在 64 位 (bit) 有符号数字表示之内。 
  71.          */  
  72.         //je.hincrBy("hk", "inc", 0);  
  73.         System.out.println(je.hget("hk""inc"));  
  74.         je.hincrByFloat("hk""inc"1.25);  
  75.         System.out.println(je.hget("hk""inc"));  
  76.         System.out.println("-------------------------");  
  77.           
  78.         /** 返回哈希表 key 中的所有域。 */  
  79.         Set<String> keys=je.hkeys("hk");  
  80.         System.out.println(keys);  
  81.           
  82.         /**返回哈希表 key 中域的数量。  */  
  83.         Long hleng=je.hlen("hk");  
  84.         System.out.println(hleng);  
  85.           
  86.           
  87.         /** 返回哈希表 key 中,一个或多个给定域的值。 
  88.         如果给定的域不存在于哈希表,那么返回一个 nil 值。 
  89.         因为不存在的 key 被当作一个空哈希表来处理,所以对一个不存在的 key 进行HMGET 操作将返回一个只 
  90.         带有 nil 值的表。 */  
  91.         List<String> lv=je.hmget("hk""f1","f2","deef");  
  92.         System.out.println(lv);  
  93.           
  94.         /** 返回哈希表 key 中所有域的值。 */  
  95.         List<String> lvs=je.hvals("hk");  
  96.         System.out.println(lvs);  
  97.     }  
  98.   
  99. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值