`
linyu19872008
  • 浏览: 282453 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

redis练习

 
阅读更多
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class Test1 {

	public static void main(String[] args) {
		Test1 test = new Test1();
		// test.testString();
		// test.testList();
		// test.testSet();
		// test.testSortedSet();
		test.testHash();
	}

	/**
	 * 测试hash
	 */
	public void testHash() {
		JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");

		Jedis jedis = pool.getResource();
		try {

			// 清空数据
			System.out.println(jedis.flushDB());
			// 添加数据
			jedis.hset("hashs", "entryKey", "entryValue");
			jedis.hset("hashs", "entryKey1", "entryValue1");
			jedis.hset("hashs", "entryKey2", "entryValue2");
			System.out.println(jedis.hgetAll("hashs"));
			// 判断某个值是否存在
			System.out.println(jedis.hexists("hashs", "entryKey"));
			// 获取指定的值
			System.out.println(jedis.hget("hashs", "entryKey")); // 批量获取指定的值
			System.out.println(jedis.hmget("hashs", "entryKey", "entryKey1"));
			// 删除指定的值
			System.out.println(jedis.hdel("hashs", "entryKey"));
			System.out.println(jedis.hgetAll("hashs"));
			// 为key中的域 field 的值加上增量 increment
			System.out.println(jedis.hincrBy("hashs", "entryKey", 123l));
			System.out.println(jedis.hgetAll("hashs"));
			// // 获取所有的keys
			 System.out.println(jedis.hkeys("hashs"));
			// // 获取所有的values
			 System.out.println(jedis.hvals("hashs"));

		} finally {
			// 这里很重要,一旦拿到的jedis实例使用完毕,必须要返还给池中
			pool.returnResource(jedis);
		}
		// 程序关闭时,需要调用关闭方法
		pool.destroy();

	}

	/**
	 * 测试有序set
	 */
	public void testSortedSet() {
		JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");

		Jedis jedis = pool.getResource();
		try {
			// 清空数据
			System.out.println(jedis.flushDB());
			// 添加数据
			jedis.zadd("zset", 10.1, "hello");
			jedis.zadd("zset", 10.0, ":");
			jedis.zadd("zset", 9.0, "zset");
			jedis.zadd("zset", 11.0, "zset!");
			// 元素个数
			System.out.println(jedis.zcard("zset"));
			// 元素下标
			System.out.println(jedis.zscore("zset", "zset"));
			// 集合子集
			System.out.println(jedis.zrange("zset", 0, -1));
			// 删除元素
			jedis.zrem("zset", "zset!");
			System.out.println(jedis.zrange("zset", 0, -1));
			System.out.println(jedis.zcount("zset", 9.5, 10.5));
			// 整个集合值
			System.out.println(jedis.zrange("zset", 0, -1));

		} finally {
			// 这里很重要,一旦拿到的jedis实例使用完毕,必须要返还给池中
			pool.returnResource(jedis);
		}
		// 程序关闭时,需要调用关闭方法
		pool.destroy();

	}

	/**
	 * 测试set
	 */
	private void testSet() {
		JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");

		Jedis jedis = pool.getResource();
		try {
			// 清空数据
			System.out.println(jedis.flushDB());
			// 添加数据
			jedis.sadd("sets", "HashSet");
			jedis.sadd("sets", "SortedSet");
			jedis.sadd("sets", "TreeSet");
			// 判断value是否在列表中
			System.out.println(jedis.sismember("sets", "TreeSet"));
			// 整个列表值
			System.out.println(jedis.smembers("sets"));
			// 删除指定元素
			jedis.srem("sets", "SortedSet");
			System.out.println(jedis.smembers("sets"));

			// 出栈
			jedis.spop("sets");
			System.out.println(jedis.smembers("sets"));
			//
			jedis.sadd("sets1", "HashSet1");
			jedis.sadd("sets1", "SortedSet1");
			jedis.sadd("sets1", "TreeSet");
			jedis.sadd("sets2", "HashSet2");
			jedis.sadd("sets2", "SortedSet1");
			jedis.sadd("sets2", "TreeSet1");
			// 交集
			System.out.println(jedis.sinter("sets1", "sets2"));
			// 并集
			System.out.println(jedis.sunion("sets1", "sets2"));
			// 差集
			System.out.println(jedis.sdiff("sets1", "sets2"));

		} finally {
			// 这里很重要,一旦拿到的jedis实例使用完毕,必须要返还给池中
			pool.returnResource(jedis);
		}
		// 程序关闭时,需要调用关闭方法
		pool.destroy();

	}

	/**
	 * 测试list
	 */
	public void testList() {
		JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");

		Jedis jedis = pool.getResource();
		try {
			// 清空数据
			System.out.println(jedis.flushDB());
			// 添加数据
			jedis.lpush("lists", "vector");
			jedis.lpush("lists", "ArrayList");
			jedis.lpush("lists", "LinkedList");
			// 数组长度
			System.out.println(jedis.llen("lists"));
			// 排序
			// System.out.println(jedis.sort("lists"));
			// 字串
			System.out.println(jedis.lrange("lists", 0, 3));
			// 修改列表中单个值
			jedis.lset("lists", 0, "hello list!");
			System.out.println(jedis.lrange("lists", 0, 3));
			// 获取列表指定下标的值
			// System.out.println(jedis.lindex("lists", 0));
			// 删除列表指定下标的值
			// jedis.lrem("lists", 0, "vector");
			// System.out.println(jedis.lrange("lists", 0, 3));
			// // 删除区间以外的数据
			// jedis.ltrim("lists", 0, 1);
			// System.out.println(jedis.lrange("lists", 0, 3));
			// 列表出栈
			jedis.lpop("lists");
			// // 整个列表值
			System.out.println(jedis.lrange("lists", 0, -1));

		} finally {
			// 这里很重要,一旦拿到的jedis实例使用完毕,必须要返还给池中
			pool.returnResource(jedis);
		}
		// 程序关闭时,需要调用关闭方法
		pool.destroy();
	}

	/**
	 * 测试string
	 */
	public void testString() {
		JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");

		Jedis jedis = pool.getResource();
		try {
			// 清空数据
			System.out.println(jedis.flushDB());
			// 存储数据
			jedis.set("foo", "bar");
			System.out.println(jedis.get("foo"));

			// 若key不存在,则存储
			jedis.setnx("foo", "foo not exits");
			System.out.println(jedis.get("foo"));

			// 覆盖数据
			jedis.set("foo", "foo update");
			System.out.println(jedis.get("foo"));

			// 追加数据
			jedis.append("foo", " hello, world");
			System.out.println(jedis.get("foo"));

			// 设置key的有效期,并存储数据
			jedis.setex("foo", 2, "foo not exits");
			System.out.println(jedis.get("foo"));
			try {
				Thread.sleep(3000);
			} catch (InterruptedException e) {
			}
			System.out.println(jedis.get("foo"));

			// 获取并更改数据
			jedis.set("foo", "foo update");
			System.out.println(jedis.getSet("foo", "foo modify"));

			// 截取value的值
			System.out.println(jedis.getrange("foo", 1, 3));
			System.out.println(jedis.mset("mset1", "mvalue1", "mset2",
					"mvalue2", "mset3", "mvalue3", "mset4", "mvalue4"));
			System.out.println(jedis.mget("mset1", "mset2", "mset3", "mset4"));
			System.out.println(jedis
					.del(new String[] { "foo", "foo1", "foo3" }));

		} finally {
			// 这里很重要,一旦拿到的jedis实例使用完毕,必须要返还给池中
			pool.returnResource(jedis);
		}
		// 程序关闭时,需要调用关闭方法
		pool.destroy();

	}
}
 

 

分享到:
评论

相关推荐

    Redis 练习

    在“Redis Test”这个压缩包中,可能包含了一些练习题或者测试用例,用于检验和提升对Redis的掌握程度。这些练习可能包括以下方面: 1. **基本操作**:通过命令行客户端连接Redis,进行键值的设置、获取、删除等...

    redis数据库的练习案例API

    本案例“redis数据库的练习案例API”涵盖了Redis的主要数据结构和功能,旨在帮助你深入理解和应用Redis。 首先,我们来看Redis中的基础数据结构: 1. **String**:Redis的String是最基本的数据类型,可以存储字符...

    redis-java 练习

    把RedisTest.java 文件导入进去 然后junit 测试就可以呢 ,不过junit在4.1版本以上 因为用到呢注解测试 在你的lib 下导入这个两个包 jedis-2.0.0.jar:这个包是jedis 操作redis缓存用的包 commons-pool-1.6....

    springboot与redis整合

    SpringBoot与Redis整合是现代Java开发中常见的技术组合,尤其适用于构建高性能、高并发的Web应用。SpringBoot简化了配置和集成第三方库的过程,而Redis则作为内存数据存储,提供了高速的数据读写能力。以下是对这个...

    redis学习笔记+练习springboot-redisdemo

    本资源包包含了关于Redis的学习笔记以及一个基于SpringBoot整合Redis的实战项目——"springboot-redisdemo",旨在帮助你深入理解和应用Redis。 首先,让我们详细探讨Redis的核心知识点: 1. **Redis的数据类型**:...

    spring-data-redis.zip

    spring-data-redis至redis练习源码

    Redis 教程基本操作实战练习,狂神

    Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希...

    SpringCache整合Redis简单练习

    SpringCache整合Redis简单练习

    读书笔记:redis实战练习.zip

    读书笔记:redis实战练习

    Redis集合类型(Set)常用命令演示和实践练习代码

    在JAVA中使用Redis集合类型的常用命令的演示及一个简单的实战项目: 具备增删改查和分类查找的商品管理功能 代码介绍: http://blog.csdn.net/autfish/article/details/51734686

    Redis C# NET 使用练习

    Redis C# NET 使用练习

    练习springboot-redisdemo添加了拦截器

    - "练习demo" 则提供了实际的代码示例,可能包括 SpringBoot 项目中的 Redis 集成、拦截器实现等,是动手实践的好材料。 通过这个项目,你可以了解到如何在 SpringBoot 中配置和使用 Redis 实现数据缓存,同时学习...

    基于Java与Lua语言的Redis实战练习源码点评

    本实践项目通过Java与Lua语言结合,实现Redis操作的实战练习。项目源码包含77个文件,其中Java源文件71个,XML配置文件2个,Git忽略文件1个,YAML文件1个,SQL文件1个,Lua脚本1个。该练习旨在提高对Redis数据库的...

    店铺评价系统后端,redis 实战练习-comment-backend.zip

    在这个实战练习 "comment-backend" 中,我们可以深入学习如何利用 Redis 来优化店铺评价系统的后端性能。 首先,Redis 作为缓存可以显著提升数据读取速度。在评价系统中,可能会有大量用户同时查看热门店铺的评价,...

    Redis有序集合类型(SortedSet)常用命令演示和实践练习代码

    Redis是一款高性能的键值存储系统,广泛应用于缓存、消息队列、数据持久化等多个领域。有序集合(Sorted Set)是Redis中一个重要的数据结构,它结合了集合和哈希表的特点,支持对集合中的元素进行排序。在这个实战...

    redis软件、redis客户端、redis可视化工具RedisDesktopManager,redis教程

    对于初学者,推荐从官方文档入手,然后结合实际项目需求进行实战练习。对于高级用户,可以进一步研究Redis的高级特性,如Lua脚本、布隆过滤器、HyperLogLog等。 总结来说,Redis因其高效、灵活的特性在现代Web开发...

    最全面的Redis应用代码

    - 练习项目:尝试构建自己的Redis应用,例如缓存系统、消息队列等,以巩固理论知识。 总之,这个压缩包提供了全面的Redis应用代码,对于初学者和开发者来说,是一个宝贵的资源库,可以帮助他们更好地理解和运用...

    java连接redis测试

    Java连接Redis测试是一个常见的开发任务,特别是在构建高性能、高并发的Web应用中。Redis作为一个内存数据存储系统,常被用作数据库、...同时,这也是一个很好的练习,可以帮助你更好地掌握Java与NoSQL数据库的集成。

    Redis新手入门详解.pdf

    最后,对于初学者来说,提供了一个在线练习环境,让新手可以在无需安装任何软件的情况下体验Redis的基本操作。尽管在线版本可能不支持所有管理命令,但它为快速学习和实验提供了方便。随着技术的更新和版本的迭代,...

    Redis-PHP扩展类使用手册.zip

    Redis是世界上最受欢迎的内存数据存储系统之一,常用于缓存、数据库、消息中间件等多种场景。PHP作为一款广泛使用的Web开发语言,与...实践是提升技能的最佳途径,所以建议结合实际项目练习,不断探索和理解这些功能。

Global site tag (gtag.js) - Google Analytics