Redis - Jedis操作

jedis其实就像jdbc一样,是在java中用来操作数据库的工具。

其实jedis的操作方法跟redis的命令是一样的:

字符串(String) set、get...
列表(List)- 元素可重复 lpush / rpush、lpop / ropo...
集合(Set)- 不允许重复元素 sadd...
有序集合(sorted set) zadd...
哈希(Hash) hset、hget...

注:代码操作需要引入jedis的依赖包

操作 String 

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

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();
}

操作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();
}

操作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();
}

操作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();
}
发布了46 篇原创文章 · 获赞 0 · 访问量 2027

猜你喜欢

转载自blog.csdn.net/hon_vin/article/details/102685001