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

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. package ddd;  
  2.   
  3. import java.util.List;  
  4.   
  5. import redis.clients.jedis.Jedis;  
  6.   
  7. public class String_Redis {  
  8.   
  9.     /** 
  10.      * Redis 字符串型号 
  11.      * @param args 
  12.      */  
  13.     public static void main(String[] args) {  
  14.         Jedis je=new Jedis("127.0.0.1",6379,60000);  
  15.         je.auth("ycm12345");  
  16.           
  17.         /** 
  18.          * 将字符串值 value 关联到 key 。 
  19.             如果 key 已经持有其他值,SET 就覆写旧值,无视类型。 
  20.          */  
  21.         je.set("key001""0");  
  22.           
  23.         /** 
  24.          * 将 key 的值设为 value ,当且仅当 key 不存在。 
  25.             若给定的 key 已经存在,则SETNX 不做任何动作。 
  26.          */  
  27.         je.setnx("key001""新的值,若己经存在,不在存入");  
  28.           
  29.           
  30.         //为IP 加上1  
  31.         je.incr("key001");  
  32.         System.out.println(je.get("key001"));  
  33.         //再加 15,结果为16  
  34.         je.incrBy("key001"15);  
  35.         System.out.println(je.get("key001"));  
  36.         //------不是数字时,报错-----------   
  37.         //ERR value is not an integer or out of range  
  38.         je.set("key001","not the num");  
  39.         //je.incr("key001");  
  40.         System.out.println("---------------------------------");  
  41.           
  42.         //如果 key 已经存在并且是一个字符串,APPEND 命令将 value 追加到 key 原来的值的末尾  
  43.         //如果 key 不存在,APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。  
  44.         je.append("k01""ap1");  
  45.         System.out.println(je.get("k01"));  
  46.         je.append("k01".getBytes(), " is me".getBytes());  
  47.         System.out.println(new String(je.get("k01").getBytes()));  
  48.         System.out.println("---------------------------------");  
  49.           
  50.         //返回所有 (一个或多个) 给定 key 的值。  
  51.         //如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。因此,该命令永不失败。  
  52.         List<String> list=je.mget("k01","key001");  
  53.         for(String s:list){  
  54.             System.out.println(s);  
  55.         }  
  56.         System.out.println("---------------------------------");  
  57.           
  58.         /** 
  59.          *同时设置一个或多个 key-value 对。 
  60.           如果某个给定 key 已经存在,那么MSET 会用新值覆盖原来的旧值,如果这不是你所希望的效果,请考虑 
  61.           使用MSETNX 命令:它只会在所有给定 key 都不存在的情况下进行设置操作。 
  62.          */  
  63.         je.mset("k01","我是新K01","key001","我是key001");  
  64.         list=je.mget("k01","key001");  
  65.         for(String s:list){  
  66.             System.out.println(s);  
  67.         }  
  68.         System.out.println("---------------------------------");  
  69.           
  70.         /** 
  71.          * 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。 
  72.            即使只有一个给定 key 已存在,MSETNX 也会拒绝执行所有给定 key 的设置操作。 
  73.          */  
  74.         je.msetnx("k01","我是新K02dd","key001","我是key002dd","k02","新k02");  
  75.         list=je.mget("k01","key001","k02");  
  76.         for(String s:list){  
  77.             System.out.println(s);  
  78.         }  
  79.         System.out.println("---------------------------------");  
  80.           
  81.           
  82.         /** 
  83.          * 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。 
  84.          * SETEX 
  85.          */  
  86.         je.setex("kk01"1"1秒钟后失效");  
  87.           
  88.         /** 
  89.          * 这个命令和SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间 
  90.          */  
  91.         je.psetex("k03"10"失效20毫秒");  
  92.         System.out.println(je.get("k03"));  
  93.         try{  
  94.             //休眠30毫秒  
  95.             Thread.currentThread().sleep(30);  
  96.         }catch(Exception ex){  
  97.               
  98.         }  
  99.         //己经失效,找不到了  
  100.         System.out.println(je.get("k03"));  
  101.         System.out.println("---------------------------------");  
  102.           
  103.         /** 
  104.          * 返回 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。 
  105.          */  
  106.         System.out.println(je.strlen("k01"));  
  107.           
  108.           
  109.     }  
  110.   
  111. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值