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

package ddd;

import java.util.List;

import redis.clients.jedis.Jedis;

public class String_Redis {

	/**
	 * Redis 字符串型号
	 * @param args
	 */
	public static void main(String[] args) {
		Jedis je=new Jedis("127.0.0.1",6379,60000);
		je.auth("ycm12345");
		
		/**
		 * 将字符串值 value 关联到 key 。
			如果 key 已经持有其他值,SET 就覆写旧值,无视类型。
		 */
		je.set("key001", "0");
		
		/**
		 * 将 key 的值设为 value ,当且仅当 key 不存在。
			若给定的 key 已经存在,则SETNX 不做任何动作。
		 */
		je.setnx("key001", "新的值,若己经存在,不在存入");
		
		
		//为IP 加上1
		je.incr("key001");
		System.out.println(je.get("key001"));
		//再加 15,结果为16
		je.incrBy("key001", 15);
		System.out.println(je.get("key001"));
		//------不是数字时,报错----------- 
		//ERR value is not an integer or out of range
		je.set("key001","not the num");
		//je.incr("key001");
		System.out.println("---------------------------------");
		
		//如果 key 已经存在并且是一个字符串,APPEND 命令将 value 追加到 key 原来的值的末尾
		//如果 key 不存在,APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。
		je.append("k01", "ap1");
		System.out.println(je.get("k01"));
		je.append("k01".getBytes(), " is me".getBytes());
		System.out.println(new String(je.get("k01").getBytes()));
		System.out.println("---------------------------------");
		
		//返回所有 (一个或多个) 给定 key 的值。
		//如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。因此,该命令永不失败。
		List<String> list=je.mget("k01","key001");
		for(String s:list){
			System.out.println(s);
		}
		System.out.println("---------------------------------");
		
		/**
		 *同时设置一个或多个 key-value 对。
		  如果某个给定 key 已经存在,那么MSET 会用新值覆盖原来的旧值,如果这不是你所希望的效果,请考虑
		  使用MSETNX 命令:它只会在所有给定 key 都不存在的情况下进行设置操作。
		 */
		je.mset("k01","我是新K01","key001","我是key001");
		list=je.mget("k01","key001");
		for(String s:list){
			System.out.println(s);
		}
		System.out.println("---------------------------------");
		
		/**
		 * 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
		   即使只有一个给定 key 已存在,MSETNX 也会拒绝执行所有给定 key 的设置操作。
		 */
		je.msetnx("k01","我是新K02dd","key001","我是key002dd","k02","新k02");
		list=je.mget("k01","key001","k02");
		for(String s:list){
			System.out.println(s);
		}
		System.out.println("---------------------------------");
		
		
		/**
		 * 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。
		 * SETEX
		 */
		je.setex("kk01", 1, "1秒钟后失效");
		
		/**
		 * 这个命令和SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间
		 */
		je.psetex("k03", 10, "失效20毫秒");
		System.out.println(je.get("k03"));
		try{
			//休眠30毫秒
			Thread.currentThread().sleep(30);
		}catch(Exception ex){
			
		}
		//己经失效,找不到了
		System.out.println(je.get("k03"));
		System.out.println("---------------------------------");
		
		/**
		 * 返回 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。
		 */
		System.out.println(je.strlen("k01"));
		
		
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值