- 需要导入jedis.jar包
- 启动redis服务。
- 代码测试连接redis
JedisPool jPool = new JedisPool("localhost",6379);
Jedis jedis = jPool.getResource();
jedis.set("date", "2017-01-19");
jedis.set("work", "coding");
System.out.println(jedis.get("date"));
jPool.destroy();
key的使用
//当key存在时,才删除。成功为1,失败为0
jedis.set("age", "23");
long result = jedis.del("price");
long result2 = jedis.del("gggg");
System.out.println("=="+result+"=="+result2);
//判断key是否存在
boolean flag = jedis.exists("price");
System.out.println("是否存在:"+flag);
//设置过期时间
//jedis.expire("name", 5);
//jedis.expireAt("age", 5); //timestamp
//返回key值中存储的类型
System.out.println("age值类型:"+jedis.type("age"));
System.out.println("name值类型:"+jedis.type("name"));
//修改key的名称
System.out.println("修改为:"+jedis.rename("addr", "address"));
//将key放到给定的db中。
// jedis.move(key, dbIndex)
//查找给定模式的key
System.out.println(jedis.keys("*"));
String的使用
//Jedis字符串的API
jedis.set("age", "24");
jedis.append("name", " hh");
System.out.println(jedis.getrange("address", 2, 4));
System.out.println(jedis.get("name"));
//当key不存在时,才会设置值
jedis.setnx("age","hhhh");
jedis.setnx("from", "henan");
System.out.println(jedis.get("age"));
System.out.println(jedis.get("from"));
//key对应的value的字符长度
System.out.println("name的字符长度是:"+jedis.strlen("name"));
//设置多组key/value值
jedis.mset("value1","hhhh","value2","xxxx","value3","llll");
//获取多组value值
List<String> strs = jedis.mget("value1","name","value2");
System.out.println(strs);
System.out.println("=============");
//给key值中存储的数字+1
jedis.incr("age");
System.out.println("=="+jedis.get("age"));
//数字-1
jedis.decr("age");
//减去指定的值
jedis.decrBy("age", 4);
System.out.println("decrBy:"+jedis.get("age"));
jedis.set("price", "2.5");
jedis.incr("name");
System.out.println("=如果不是int类型就报错="+jedis.get("name"));
List的使用
//将一个或多个值插入到列表头部
// jedis.flushDB();
jedis.lpush("lkeys", "val1","val2","val1","val1","val2","val3","val4","val5");
//获取list指定区域的值
System.out.println(jedis.lrange("lkeys", 0, 20));
//当key已经存在的时候,设置新值。
jedis.lset("lkeys", 1, "val000");
System.out.println(jedis.lrange("lkeys", 1, 4));
//获取列表长度
System.out.println("获取列表长度:"+jedis.llen("lkeys"));
//移除列表元素,删除count个值为value的数据。count=0,删除所有值为value的数据
System.out.println("移除列表元素:"+jedis.lrem("lkeys", 0, "val1"));
//对列表进行修剪
System.out.println("列表修剪结果:"+jedis.ltrim("lkeys", 0, 5));
//
Hash的使用
//Jedis的hashAPI
//hash特别适合用于存储对象
jedis.hset("person", "name", "lzl");
jedis.hset("person", "age", "23");
jedis.hset("person", "address", "河南");
jedis.hset("person", "birthday", "1993-01-01");
jedis.hset("person", "price", "2.3");
//将多个field-value(域-值)设置到hash表中
Map<String,String> hash = new HashMap<>();
hash.put("name", "xxx");
hash.put("age", "33");
hash.put("address", "北京");
jedis.hmset("person2", hash);
//获取key中所有的属性
System.out.println("person对象对应的属性有:"+jedis.hkeys("person"));
//获取hash表中字段的数量
System.out.println("person对象的属性个数:"+jedis.hlen("person"));
//获取hash表中指定key的所有字段和值
System.out.println("person对象的属性和值分别是:"+jedis.hgetAll("person"));
//给hash表中指定字段的整数值加上增量
System.out.println("整型加上增量的结果:"+jedis.hincrBy("person", "age", 5));
//获取hash表中的所有值
System.out.println("hash表中的所有值:"+jedis.hvals("person2"));
Set的使用
jedis.flushDB();
//向集合添加一个多多个成员
jedis.sadd("skeys", "sval1","sval2","sval3","sval4","sval5");
jedis.sadd("skeys_l", "sval1","sval6","sval7","sval4","sval5");
//获取集合总数
System.out.println("获取集合的成员数:"+jedis.scard("skeys"));
//返回两个或多个集合的差集
System.out.println("skeys与skeys_l集合的差集:"+jedis.sdiff("skeys","skeys_l"));
//返回集合差集并存储在diff_keys中
jedis.sdiffstore("diff_keys", "skeys","skeys_l");
//返回给定集合的交集
System.out.println("两个集合的交集:"+jedis.sinter("skeys","skeys_l"));
//判断元素是否在集合中
System.out.println("是否在集合中:"+jedis.sismember("skeys", "val2"));
//将元素从A集合移动到B集合中
System.out.println("将元素从A集合移动到B集合中:"+jedis.smove("diff_keys", "skeys_l", "sval7"));
//返回给定集合的并集
System.out.println("集合的并集:"+jedis.sunionstore("deskeys", "skeys_l","skeys"));
SortSet的使用
Map<Double,String> membersMap = new HashMap<>();
membersMap.put(2D, "lzl");
membersMap.put(3D, "hhh");
membersMap.put(2D, "lzl");
membersMap.put(5D, "lzl");
membersMap.put(3D, "hhh-3");
membersMap.put(6D, "lzl-6");
//添加或更新有序集合,有序集合的值不可以重复,但是分数是可以重复的
jedis.zadd("zkeys", membersMap);
Map<Double,String> membersMap_1 = new HashMap<>();
membersMap_1.put(1D, "lzl");
membersMap_1.put(2D, "hhh");
membersMap_1.put(3D, "lzl");
membersMap_1.put(4D, "lzl");
membersMap_1.put(5D, "hhh-3");
membersMap_1.put(6D, "lzl-6");
//添加或更新有序集合,有序集合的值不可以重复,但是分数是可以重复的
jedis.zadd("zkeys_1", membersMap_1);
//获取有序集合的成员数
System.out.println("有序集合的成员数:"+jedis.zcard("zkeys"));
//指定成员的分数增加一定的增量
System.out.println("指定成员的分数增加增量:"+jedis.zincrby("zkeys", 4, "lzl"));
//计算交集,并将结果存储在有序集合中
System.out.println("计算交集,并将结果存储在有序集合中:"+jedis.zinterstore("deskeys", "zkeys_1","zkeys"));
//计算有序集合指定区间的分数的成员数
System.out.println("指定区间的分数成员数量:"+jedis.zcount("zkeys", 0, 5));
//返回有序集合指定区间的成员
System.out.println("集合指定区间的成员:"+jedis.zrange("zkeys", 0, 6));
//返回有序集合指定值的score值
System.out.println("score值是:"+jedis.zrank("zkeys", "lzl"));
//移除有序集合中指定元素
System.out.println("移除元素:"+jedis.zrem("zkeys_1", "lzl"));
//返回有序集合指定成员的排名
System.out.println("有序集合排名:"+jedis.zrevrank("zkeys", "hhh"));
//集合中有序成员的分数值
System.out.println("有序集合的分数值:"+jedis.zscore("zkeys", "hhh-3"));
//计算集合并集,并存储到新的key中
System.out.println("并集:"+jedis.zunionstore("unionKeys", "zkeys","zkeys_1"));