博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java通过jedis操作redis2.6入门
阅读量:6091 次
发布时间:2019-06-20

本文共 6115 字,大约阅读时间需要 20 分钟。

hot3.png

代码地址:

    https://github.com/viakiba/redis

package com.viakiba.redis.step1;import org.junit.Test;import redis.clients.jedis.Jedis;/** * @description:  * 			最新的Redis 2.6 测试,建议上机测试 * 			这些命令是最基本的命令,在这些已知的基础上,才能进行接下来的命令的选择性了解 * 			set/get/dbsize/select/flushAll/flushdb/del * 			jedisApi: http://tool.oschina.net/uploads/apidocs/  * 			接下来的代码,请务必在自己全新的redis数据库进行测试,不要在生产环境中测试!!!! * 参考:http://redisdoc.com/index.html * @author viakiba * @date 2017年8月17日 */public class App1 {	static interface RedisConfig {		public final static String HOST = "localhost";		public final static int PORT = 6379;	}		/**	 * @description: 测试连接是否通过	 * @author: viakiba	 * @throws Exception	 */	@Test	public void test1() throws Exception {		//连接测试是否通过		Jedis jedis = new Jedis(RedisConfig.HOST,RedisConfig.PORT);		System.out.println(jedis.ping());//pong则通过	}		/**	 * @description: set/get 命令	 * @author: viakiba	 * @throws Exception	 */	@Test	public void test2() throws Exception {		/**		 * set		 * 将字符串值 value 关联到 key 。		 * 如果 key 已经持有其他值, SET 就覆写旧值,无视类型。		 * 对于某个原本带有生存时间(TTL)的键来说, 当 SET 命令成功在这个键上执行时, 这个键原有的 TTL 将被清除。		 * 可选参数:		 * 		EX second :设置键的过期时间为 second 秒。 SET key value EX second 效果等同于 SETEX key second value 。		 * 		PX millisecond :设置键的过期时间为 millisecond 毫秒。 SET key value PX millisecond 效果等同于 PSETEX key millisecond value 。		 * 		NX :只在键不存在时,才对键进行设置操作。 SET key value NX 效果等同于 SETNX key value 。		 * 		XX :只在键已经存在时,才对键进行设置操作。		 */		Jedis jedis = new Jedis(RedisConfig.HOST,RedisConfig.PORT);		System.out.println(jedis.set("k1", "v1"));//ok				/**		 * get返回 key 所关联的字符串值。		 * 		如果 key 不存在那么返回特殊值 nil 。		 * 		假如 key 储存的值不是字符串类型,返回一个错误,因为 GET 只能用于处理字符串值。		 */		System.out.println(jedis.get("k1"));//v1		System.out.println(jedis.get("k2"));//null	}			/**		 * @description: 对于set可选参数的测试 EX/NX		 * @author: viakiba		 * @throws Exception		 */		@Test		public void test2_1() throws Exception {			Jedis jedis = new Jedis(RedisConfig.HOST,RedisConfig.PORT);			//System.out.println(jedis.flushAll());  //清空所有数据						//可选参数EX//			System.out.println(jedis.setex("k1", 5, "v1"));//5s失效//			System.out.println("失效前"+jedis.get("k1"));//			Thread.sleep(6000);//睡6秒就到时间了//			System.out.println("失效后"+jedis.get("k1"));						//可选参数NX  只在键不存在时,才对键进行设置操作//			System.out.println(jedis.flushAll());//清空所有数据//			jedis.set("k1", "v1");//			System.out.println("前"+jedis.get("k1"));//			System.out.println(jedis.setnx("k1", "v2"));//此时 k1 是存在的,值为 v1//			System.out.println(jedis.setnx("k2", "v2"));//此时 k2是不存在的//			System.out.println("k1后"+jedis.get("k1"));//k1 上述操作无影响//			System.out.println("k2后"+jedis.get("k2"));//k2 上述操作有影响		}			/**	 * @description: flushAll/select	 * @author: viakiba	 * @throws Exception	 */	@Test	public void test3() throws Exception {		Jedis jedis = new Jedis(RedisConfig.HOST,RedisConfig.PORT);		//flushAll  清空整个 Redis 服务器的数据(删除所有数据库的所有 key )。		System.out.println(jedis.flushAll());		System.out.println("==========清除数据===========");		//select 切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。默认使用 0 号数据库。		System.out.println(jedis.select(0));		System.out.println("==========选择DB===========");		System.out.println(jedis.set("k1", "v1"));//ok		System.out.println(jedis.select(1));		System.out.println(jedis.set("k2", "v2"));//ok		System.out.println("==========装入数据===========");		System.out.println(jedis.select(0));		System.out.println("==========选择DB===========");		System.out.println(jedis.get("k1"));//v1		System.out.println(jedis.select(1));		System.out.println("==========选择DB===========");		System.out.println(jedis.get("k2"));//v2		System.out.println("==========查看数据===========");		//flushAll  清空整个 Redis 服务器的数据(删除所有数据库的所有 key )。		System.out.println(jedis.flushAll());		System.out.println("==========清除数据===========");		System.out.println(jedis.select(0));		System.out.println("==========选择DB===========");		System.out.println(jedis.get("k1"));//null		System.out.println(jedis.select(1));		System.out.println("==========选择DB===========");		System.out.println(jedis.get("k2"));//null		System.out.println("==========查看数据===========");	}			/**	 * @description: bdsize/flushDB	 * @author: viakiba	 * @throws Exception	 */	@Test	public void test4() throws Exception {		Jedis jedis = new Jedis(RedisConfig.HOST,RedisConfig.PORT);		//		System.out.println(jedis.flushAll());//		//bdsize: 返回当前数据库的 key 的数量。//		System.out.println(jedis.select(0));//		System.out.println(jedis.dbSize());//		System.out.println(jedis.setex("k1", 3, "v1"));//		System.out.println(jedis.dbSize());//		Thread.sleep(5000);//		System.out.println(jedis.dbSize());				System.out.println(jedis.flushAll());				System.out.println(jedis.select(0));		System.out.println(jedis.dbSize());		System.out.println(jedis.set("k1", "v1"));		System.out.println(jedis.dbSize());				System.out.println(jedis.select(1));		System.out.println(jedis.set("k2", "v2"));		System.out.println(jedis.dbSize());		System.out.println("============前置准备============");		System.out.println(jedis.select(1));//清空index为1的数据库		//flushDB   清空当前数据库中的所有 key。		System.out.println(jedis.flushDB());		System.out.println("============flushDB>>1============");		System.out.println(jedis.select(0));		System.out.println(jedis.dbSize());		System.out.println(jedis.select(1));		System.out.println(jedis.dbSize());	}	/**	 * @description: del	 * @author: viakiba	 * @throws Exception	 */	@Test	public void test5() throws Exception {		Jedis jedis = new Jedis(RedisConfig.HOST,RedisConfig.PORT);		System.out.println(jedis.flushAll());				System.out.println(jedis.dbSize());		System.out.println(jedis.set("k1", "v1"));		System.out.println(jedis.set("k2", "v2"));		System.out.println(jedis.set("k3", "v3"));		System.out.println(jedis.dbSize());		System.out.println("=======装入数据已经完成========");		//del  删除给定的一个或多个 key 。不存在的 key 会被忽略。		System.out.println(jedis.del("k1"));//返回影响的key的数量  1 存在此key,被删除 /0 不存在此key		System.out.println(jedis.dbSize()); 		System.out.println("删除k1");		System.out.println(jedis.del("k1"));		System.out.println(jedis.dbSize());		System.out.println("删除k1");				System.out.println(jedis.del("k2","k3"));//可变参数  可以多个		System.out.println(jedis.dbSize());					}}

 

转载于:https://my.oschina.net/viakiba/blog/1512331

你可能感兴趣的文章
关于加载iframe时进度条不消失的问题
查看>>
oracle ORA-01840:输入值对于日期格式不够长
查看>>
python基础知识~logger模块
查看>>
SIP入门(二):建立SIPserver
查看>>
Servlet3.0的异步
查看>>
WebService连接postgresql( 失败尝试)
查看>>
从头认识java-13.11 对照数组与泛型容器,观察类型擦除给泛型容器带来什么问题?...
查看>>
从MFQ方法到需求分析
查看>>
福建省促进大数据发展:变分散式管理为统筹集中式管理
查看>>
开发环境、生产环境、测试环境的基本理解和区别
查看>>
tomcat多应用之间如何共享jar
查看>>
需要学的东西
查看>>
Linux 获取文件夹下的所有文件
查看>>
对 Sea.js 进行配置(一) seajs.config
查看>>
第六周
查看>>
解释一下 P/NP/NP-Complete/NP-Hard 等问题
查看>>
javafx for android or ios ?
查看>>
微软职位内部推荐-Senior Software Engineer II-Sharepoint
查看>>
sql 字符串操作
查看>>
【转】Android布局优化之ViewStub
查看>>