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 Test”这个压缩包中,可能包含了一些练习题或者测试用例,用于检验和提升对Redis的掌握程度。这些练习可能包括以下方面: 1. **基本操作**:通过命令行客户端连接Redis,进行键值的设置、获取、删除等...
本案例“redis数据库的练习案例API”涵盖了Redis的主要数据结构和功能,旨在帮助你深入理解和应用Redis。 首先,我们来看Redis中的基础数据结构: 1. **String**:Redis的String是最基本的数据类型,可以存储字符...
把RedisTest.java 文件导入进去 然后junit 测试就可以呢 ,不过junit在4.1版本以上 因为用到呢注解测试 在你的lib 下导入这个两个包 jedis-2.0.0.jar:这个包是jedis 操作redis缓存用的包 commons-pool-1.6....
SpringBoot与Redis整合是现代Java开发中常见的技术组合,尤其适用于构建高性能、高并发的Web应用。SpringBoot简化了配置和集成第三方库的过程,而Redis则作为内存数据存储,提供了高速的数据读写能力。以下是对这个...
本资源包包含了关于Redis的学习笔记以及一个基于SpringBoot整合Redis的实战项目——"springboot-redisdemo",旨在帮助你深入理解和应用Redis。 首先,让我们详细探讨Redis的核心知识点: 1. **Redis的数据类型**:...
spring-data-redis至redis练习源码
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希...
SpringCache整合Redis简单练习
读书笔记:redis实战练习
在JAVA中使用Redis集合类型的常用命令的演示及一个简单的实战项目: 具备增删改查和分类查找的商品管理功能 代码介绍: http://blog.csdn.net/autfish/article/details/51734686
Redis C# NET 使用练习
- "练习demo" 则提供了实际的代码示例,可能包括 SpringBoot 项目中的 Redis 集成、拦截器实现等,是动手实践的好材料。 通过这个项目,你可以了解到如何在 SpringBoot 中配置和使用 Redis 实现数据缓存,同时学习...
本实践项目通过Java与Lua语言结合,实现Redis操作的实战练习。项目源码包含77个文件,其中Java源文件71个,XML配置文件2个,Git忽略文件1个,YAML文件1个,SQL文件1个,Lua脚本1个。该练习旨在提高对Redis数据库的...
在这个实战练习 "comment-backend" 中,我们可以深入学习如何利用 Redis 来优化店铺评价系统的后端性能。 首先,Redis 作为缓存可以显著提升数据读取速度。在评价系统中,可能会有大量用户同时查看热门店铺的评价,...
Redis是一款高性能的键值存储系统,广泛应用于缓存、消息队列、数据持久化等多个领域。有序集合(Sorted Set)是Redis中一个重要的数据结构,它结合了集合和哈希表的特点,支持对集合中的元素进行排序。在这个实战...
对于初学者,推荐从官方文档入手,然后结合实际项目需求进行实战练习。对于高级用户,可以进一步研究Redis的高级特性,如Lua脚本、布隆过滤器、HyperLogLog等。 总结来说,Redis因其高效、灵活的特性在现代Web开发...
- 练习项目:尝试构建自己的Redis应用,例如缓存系统、消息队列等,以巩固理论知识。 总之,这个压缩包提供了全面的Redis应用代码,对于初学者和开发者来说,是一个宝贵的资源库,可以帮助他们更好地理解和运用...
Java连接Redis测试是一个常见的开发任务,特别是在构建高性能、高并发的Web应用中。Redis作为一个内存数据存储系统,常被用作数据库、...同时,这也是一个很好的练习,可以帮助你更好地掌握Java与NoSQL数据库的集成。
最后,对于初学者来说,提供了一个在线练习环境,让新手可以在无需安装任何软件的情况下体验Redis的基本操作。尽管在线版本可能不支持所有管理命令,但它为快速学习和实验提供了方便。随着技术的更新和版本的迭代,...
Redis是世界上最受欢迎的内存数据存储系统之一,常用于缓存、数据库、消息中间件等多种场景。PHP作为一款广泛使用的Web开发语言,与...实践是提升技能的最佳途径,所以建议结合实际项目练习,不断探索和理解这些功能。