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是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
把RedisTest.java 文件导入进去 然后junit 测试就可以呢 ,不过junit在4.1版本以上 因为用到呢注解测试 在你的lib 下导入这个两个包 jedis-2.0.0.jar:这个包是jedis 操作redis缓存用的包 commons-pool-1.6....
本案例包含了redis的string、set、list、sort、hash、sparkstreaming、等操作。实现模拟购物车、爬虫、商品从浏览到下单占比、排名、商品销售排名等实现。
java练习springboot与redis整合,适合初学者
spring-data-redis至redis练习源码
里面有关于redis的一些笔记介绍,PPT文档, 还有自己整合的springboot-redis的一个微博demo。有需要的可以下下来看下
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希...
SpringCache整合Redis简单练习
在JAVA中使用Redis集合类型的常用命令的演示及一个简单的实战项目: 具备增删改查和分类查找的商品管理功能 代码介绍: http://blog.csdn.net/autfish/article/details/51734686
Redis C# NET 使用练习
店铺评价系统后端,redis 实战练习-comment-backend
redis的整理资料,还有springboot-redis的整合项目。适合新手看
使用vs2017做的c#中使用redis的简单例子,实现了,键 的添加 删除 修改,适合新手练习,学习
1 Redis安装练习 问题 依次完成以下2小题的任务: 1) 安装Redis 2) 配置复制
在JAVA中使用Redis有序集合类型的常用命令的演示及一个简单的实战项目: 具备增删改查和分类查找及按浏览量排序的商品管理功能
这是练习使用C# 操作redis做缓存的redishelper ,封装的比较完善,正式项目中已经使用,请下载可运行 vs2013以上
涉及知识:虚拟机中CentOS7 系统安装,Xshell及Winscp的使用,Redis单节点安装部署,Redis五种类型命令练习,服务器的配置,Redis集群部署全过程,Redis高可用性的测试,过程详细,本人自己学习的时候整理的。...
这是我学习Redis,用于实战练习的项目-RedisPracticalProject
文件包含ajax、json和Redis学习笔记和练习源码。 配套博客:https://blog.csdn.net/H200102/article/details/107170707
redis面试题 PHP技术点整理,redis,swoole,搜索引擎,lua,面试题练习