redis - String字符串操作

中文命令参考手册

[java]  view plain  copy
 print ?
  1. import java.util.List;  
  2.   
  3. import org.junit.After;  
  4. import org.junit.Before;  
  5. import org.junit.Test;  
  6.   
  7. import redis.clients.jedis.Jedis;  
  8.   
  9.   
  10. /**  
  11.  * jedis String 类型操作  
  12.  * @author http://blog.csdn.net/java2000_wl  
  13.  * @version <b>1.0</b>  
  14.  */    
  15. public class RedisStringTest {  
  16.   
  17.     private Jedis jedis;  
  18.       
  19.     /** 
  20.      * 初始化连接 
  21.      * <br>------------------------------<br> 
  22.      */  
  23.     @Before  
  24.     public void before() {  
  25.         jedis = new Jedis("127.0.0.1");  
  26.         jedis.auth("java2000_wl");  
  27.     }  
  28.       
  29.     /** 
  30.      * 断开连接 
  31.      * <br>------------------------------<br> 
  32.      */  
  33.     @After  
  34.     public void after() {  
  35.         jedis.disconnect();  
  36.     }  
  37.       
  38.     /** 
  39.      * set 如果存在相同的key 覆盖旧值</br> 
  40.      * 总是返回OK 
  41.      * <br>------------------------------<br>  
  42.      */  
  43.     @Test  
  44.     public void testSet() {  
  45.         String result = jedis.set("blog""java2000_wl");  
  46.         print(result);  
  47.         jedis.set("blog""java2000_wl_new");  
  48.         print(result);  
  49.     }  
  50.       
  51.     /** 
  52.      * setnx 如果key存在 不做任何操作  返回0, </br> 
  53.      *         如果key不存在  设置值成功 返回1 
  54.      * <br>------------------------------<br>  
  55.      */  
  56.     @Test  
  57.     public void testSetnx() {  
  58.         long result = jedis.setnx("blog1""java2000_wl");  
  59.         print(result);  
  60.     }  
  61.       
  62.     /** 
  63.      * setex 设置值  并指定键值对应的有效期  单位为秒</br> 
  64.      * 如果key 存在 覆盖旧值  成功返回 OK 
  65.      * <br>------------------------------<br>  
  66.      */  
  67.     @Test  
  68.     public void testSetex() {  
  69.         String result = jedis.setex("setex"60"setex_value");  
  70.         print(result);  
  71.     }  
  72.       
  73.     /** 
  74.      * setrange 通过key 和  offset 替换value </br> 
  75.      * 例如:setex - > setex_value    
  76.      * jedis.setrange("setex", 6, "Setrange") 
  77.      * </br>   
  78.      * 替换为 setex_Setrange 
  79.      * <br>------------------------------<br>  
  80.      */  
  81.     @Test  
  82.     public void testSetrange() {  
  83.         // setex_value  被替换为: setex_Setrange  
  84.         long result = jedis.setrange("setex"6"Setrange");  
  85.         print(result);  
  86.         print(jedis.get("setex"));  
  87.     }  
  88.       
  89.     /** 
  90.      * mset 同时设置一个或多个 key-value对。 
  91.      * 如果某个key-value 存在  会用新值覆盖原来的旧值, 总是成功, 成功返回OK 
  92.      * <br>------------------------------<br> 
  93.      */  
  94.     @Test  
  95.     public void testMset() {  
  96.         String result = jedis.mset("key1""value1""key2""value2""key..""value..");  
  97.         print(result);  
  98.     }  
  99.       
  100.     /** 
  101.      * msetnx 同时设置一个或多个 key-value对。 
  102.      * 如果某个key-value存在   返回0  所有操作都会回滚, 如果成功 返回ok 
  103.      * <br>------------------------------<br> 
  104.      */  
  105.     @Test  
  106.     public void testMsetnx() {  
  107.         long result = jedis.msetnx("msetnxKey1""msetnxValue1""msetnxKey2""msetnxValue2");  
  108.         print(result);  
  109.     }  
  110.       
  111.     /** 
  112.      * get 通过key 获取对应的value  如果key不存在 返回nil 
  113.      * <br>------------------------------<br> 
  114.      */  
  115.     @Test  
  116.     public void testGet() {  
  117.         String value = jedis.get("msetnxKey1");  
  118.         print(value);  
  119.     }  
  120.       
  121.     /** 
  122.      * getset 通过key 获取对应的value 然后通过key 设置信的value 
  123.      * <br>------------------------------<br> 
  124.      */  
  125.     @Test  
  126.     public void testGetSet() {  
  127.         String value = jedis.getSet("key1""value_new");  
  128.         print(value);  
  129.           
  130.         value = jedis.get("key1");  
  131.         print(value);  
  132.     }  
  133.       
  134.     /** 
  135.      * 返回key对应的value  在由start 和 end 两个偏移量截取 
  136.      * <br>------------------------------<br> 
  137.      */  
  138.     @Test  
  139.     public void testGetrange() {  
  140.         String value = jedis.getrange("key1"68);  
  141.         print(value);  
  142.     }  
  143.       
  144.     /** 
  145.      * 返回多个key 对应的value 
  146.      * <br>------------------------------<br> 
  147.      */  
  148.     @Test  
  149.     public void testMget() {  
  150.         List<String> list = jedis.mget("key1""key2""key3");  
  151.         print(list);  
  152.     }  
  153.       
  154.     /** 
  155.      * 对key对应的value  做+1操作  返回+1后的新值 
  156.      * <br>------------------------------<br> 
  157.      */  
  158.     @Test  
  159.     public void testIncr() {  
  160.         jedis.set("incr""2");  
  161.         // 返回33  
  162.         Long result = jedis.incr("incr");  
  163.         print(result);  
  164.     }  
  165.       
  166.     /** 
  167.      * 对key对应的value 加指定值 返回新值  如果key不存在 认为原来的value为0 
  168.      * <br>------------------------------<br> 
  169.      */  
  170.     @Test  
  171.     public void testIncrBy() {  
  172.         jedis.set("incrBy""2");  
  173.         // 返回7  
  174.         Long result = jedis.incrBy("incrBy"5);  
  175.         print(result);  
  176.     }  
  177.       
  178.     /** 
  179.      * 对key对应的value 做-1操作  返回新值 
  180.      * <br>------------------------------<br> 
  181.      */  
  182.     @Test  
  183.     public void testDecr() {  
  184.         // 7 - 1  
  185.         Long result = jedis.decr("incrBy");  
  186.         print(result);  
  187.     }  
  188.       
  189.     /** 
  190.      * 对key对应的value 减去指定值  返回新值  如果key不存在    认为原来的value为0 
  191.      * <br>------------------------------<br> 
  192.      */  
  193.     @Test  
  194.     public void testDecrBy() {  
  195.         Long result = jedis.decrBy("DecrBy"5);  
  196.         print(result);  
  197.     }  
  198.       
  199.     /** 
  200.      * 给指定的key的值追加, 返回新字符串的长度 
  201.      * <br>------------------------------<br> 
  202.      */  
  203.     @Test  
  204.     public void testAppend() {  
  205.         // 追加前 value_new  
  206.         String old = jedis.get("key1");  
  207.         print(old);  
  208.         // 追加后  value_new124  
  209.         Long long1 =jedis.append("key1""124");  
  210.         print(long1);  
  211.     }  
  212.       
  213.     /** 
  214.      * 取得指定key的value值的长度 
  215.      * <br>------------------------------<br> 
  216.      */  
  217.     @Test  
  218.     public void testStlen() {  
  219.         long len = jedis.strlen("key1");  
  220.         print(len);  
  221.     }  
  222.       
  223.     void print(Object object) {  
  224.         System.out.println(object.toString());  
  225.     }  
  226. }  
  227. 转载:http://blog.csdn.net/java2000_wl/article/details/8531702
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值