jedis is just like jdbc, is a tool used to operate the database in java.
In fact jedis method of operation with redis command is the same:
String (String) | set、get... |
List (List) - reusable elements | lpush / rpush, lpop / Europe ... |
Collection (Set) - do not allow duplicate elements | sadd... |
Ordered set (sorted set) | zadd... |
Hash (Hash) | hset、hget... |
Note: Code jedis operations need to introduce dependencies
String operations
public void test1() {
/*
1.获取连接
这里需要传redis的主机名和端口
如果不传入参数,默认的主机名和端口参数是("localhost",6379)
*/
Jedis jedis = new Jedis();
//2.操作
jedis.set("username", "张三");
System.out.println("string-存储成功");
System.out.println("string-取值:" + jedis.get("username"));
//可以使用setex()方法存储存在有效期的key:value,比如下面这个code,存入的10秒钟之后会自动删除
jedis.setex("code", 10, "123456");
//3.关闭连接
jedis.close();
}
Hash operation
public void test2() {
//1.获取连接
Jedis jedis = new Jedis();
//2.操作
jedis.hset("user", "name", "张三");
jedis.hset("user", "age", "20");
jedis.hset("user", "sex", "男");
System.out.println("hash-存储成功!");
//获取hash
String name = jedis.hget("user", "name");
String age = jedis.hget("user", "age");
String sex = jedis.hget("user", "sex");
System.out.println("hash取值:" + name + "、" + age + "、" + sex);
//获取hash所有map中的数据
Map<String, String> user = jedis.hgetAll("user");
System.out.println("hash取所有值:" + user);
//3.关闭连接
jedis.close();
}
Operation List
public void test3() {
//1.获取连接
Jedis jedis = new Jedis();
//2.操作
//list存储
jedis.lpush("mylist", "a", "b", "c"); //从左边存
jedis.rpush("mylist", "a", "b", "c"); //从右边存
//list范围获取
List<String> mylist = jedis.lrange("mylist", 0, -1); //-1就是返回所有
System.out.println("mylist = " + mylist); //输出结果:mylist = [c, b, a, a, b, c]
//list弹出
String lpop = jedis.lpop("mylist");
System.out.println("lpop = " + lpop); //输出结果:lpop = c
String rpop = jedis.rpop("mylist");
System.out.println("rpop = " + rpop); //输出结果:rpop = c
//获取弹出之后的结果
List<String> mylist2 = jedis.lrange("mylist", 0, -1); //-1就是返回所有
System.out.println("mylist2 = " + mylist2); //输出结果:mylist2 = [b, a, a, b]
//3.关闭连接
jedis.close();
}
Operation Set
public void test4() {
//1.获取连接
Jedis jedis = new Jedis();
//2.操作
//set存储
jedis.sadd("myset", "java", "php", "c++");
//set获取
Set<String> myset = jedis.smembers("myset");
System.out.println("myset = " + myset); //输出结果:myset = [c++, php, java]
//3.关闭连接
jedis.close();
}
Operating sorted set
public void test5() {
//1.获取连接
Jedis jedis = new Jedis();
//2.操作
//sorted set存储(有序集合)
jedis.zadd("mysortedset", 20, "苹果");
jedis.zadd("mysortedset", 10, "香蕉");
jedis.zadd("mysortedset", 13, "橘子");
//sorted set获取
Set<String> mysortedset = jedis.zrange("mysortedset", 0, -1);
System.out.println("mysortedset = " + mysortedset); //输出结果:mysortedset = [香蕉, 橘子, 苹果]
//3.关闭连接
jedis.close();
}