Jedis的简单介绍

举报
Laura_张 发表于 2022/08/26 23:46:57 2022/08/26
【摘要】 文章目录 简介概念快速入门 jedis操作各种Redis中的数据结构jedis连接池 连接池工具类 简介 概念 jedis:一款Java操作Redis数据库的工具 ...


简介

概念

jedis:一款Java操作Redis数据库的工具

使用步骤:
下载jedis的jar包
使用

快速入门

public void test(){
	//1、获取连接
	Jedis jedis=new Jedis(host:"localhost",port:6379);
	//2、操作
	jedis.set("username","zhangsan");
	//3、关闭连接
	jedis.close();
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

jedis操作各种Redis中的数据结构

  • 1、字符串类型 string
	//1、获取连接
	Jedis jedis=new Jedis();//如果使用空参构造,,默认值“localhost”.6379端口
	
	//2、操作
	//存储
	jedis.set("username","zhangsan");
	//获取
	String username=jedis.get("username");
	System.out.printIn(username);
	
	//可以使用setex()方法存储可以指定过期时间的key value
	jedis.setex("activecode",20,"hehe");//将activecode:hehe键值对存入Redis,并且20秒后自动删除该键值对
	
	//3、关闭连接
	jedis.close();

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 2、hash 哈希类型
	//1、获取连接
	Jedis jedis=new Jedis();//如果使用空参构造,,默认值“localhost”.6379端口
	//2、操作
	//存储hash
	jedis.hset(key:"user",field:"name",value:"lisi");
	jedis.hset(key:"user",field:"age",value:"23");
	jedis.hset(key:"user",field:"gender",value:"male");
	
	//获取hash
	String name=jedis.hget(key:"user",field:"name");
	System.out.printIn(name);
	
	//获取hash所有map中的数据
	Map<String,String>user=jedis.hgetAll(key:"user");
	
	//keyset
	Set<String> keySet=user.keySet();
	for(String key:keySet){
		//获取value
		String value=user.get(key);
		System.out.printIn(key+":"+value);
	}
	//3、关闭连接
	jedis.close();

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 3、列表类型 list
	//1、获取连接
	Jedis jedis=new Jedis();//如果使用空参构造,,默认值“localhost”.6379端口
	//2、操作
	//存储
	jedis.lpush(key:"mylist",...strings:"a","b","c");//从左边存
	jedis.rpush(key:"mylist",...strings:"a","b","c");//从右边存
	
	//list范围获取
	List<String>mylist=jedis.lrange(key:"mylist",start:0,end:-1);
	System.out.pringIn(mylist);

	//弹出
	Sting element1=jedis.lpop(key:"mylist");//c
	System.out.printIn(element1);

	Sting element2=jedis.rpop(key:"mylist");//c
	System.out.printIn(element2);
	
	//list范围获取
	List<String>mylist2=jedis.lrange(key:"mylist",start:0,end:-1);
	System.out.pringIn(mylist2);
	
	//3、关闭连接
	jedis.close();

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 4、集合类型 set
	//1、获取连接
	Jedis jedis=new Jedis();//如果使用空参构造,,默认值“localhost”.6379端口
	//2、操作
	//set存储
	jedis.sadd(key:"myset",...members:"java","php","C++");
	//set 获取
	Set<String>myset=jedis.smembers(key:"myset");
	System.out.pringIn(myset);
	
	//3、关闭连接
	jedis.close();

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 5、sortedset—可以排序
	//1、获取连接
	Jedis jedis=new Jedis();//如果使用空参构造,,默认值“localhost”.6379端口
	//2、操作
	//sortedset存储
	jedis.zadd(key:"mysortedset",score:3,member:"zhangsan");
	jedis.zadd(key:"mysortedset",score:3,member:"zhangsan");
	jedis.zadd(key:"mysortedset",score:3,member:"zhangsan");
	//sortedset获取
	Set<String> mysortedset=jedis.zrange(key:"mysortedset",Start:0,end:-1);
	System.out.printIn(mysortedset);
	
	//3、关闭连接
	jedis.close();	

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

jedis连接池

jedisPool------自动生成的

使用:
创建JedisPool连接池对象
调用方法getResource()方法获取jedis链接

//1、创建一个配置对象
JedisPoolConfig config=new JedisPoolConfig();
config.setMaxTotal(50);
config.setMaxIdle(10);
//2、创建jedis连接池对象
JedisPool jedisPool=new JedisPool(config,host:"localhost",port:6379);
//3、获取连接
Jedis jedis=jedisPool.getResource();
//4、使用
jedis.set("hehe","heihei");

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

连接池工具类

加载配置文件,配置连接池的参数

提供获取连接的方法

public class JedisPoolUtils{
	private static JedisPool jedisPool;
	static{
		//读取配置文件
		InputStream is=JedisPoolUtils.class.getClassLoader().getResourceAsStream(name:"jedis.properties");
		//创建Properties对象
		Properties pro=new Properties();
		//关联文件
		try{
			pro.load(is);
		}catch(IOException e){
			e.printStackTrace();
		}
		//获取数据,设置到JedisPoolConfig中
		JedisPoolConfig config=new JeidsPoolConfig();
		config.setMaxTotal(Integer.parseInt(pro.getProperty("maxTotal")));
		config.setMaxIdle(Integer.parseInt(pro.getProperty("maxIdle")));
	
	//初始化JedisPool
	jedisPool=new JedisPool(config,pro.getProperty("host"),Integer.parseInt(pro.getProperty("port")));
	}
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
//jedis连接池工具类使用
public  void test(){
	//通过连接池工具类获取
	Jedis jedis=JedisPoolUtils.getJedis();
	//使用
	jedis.set("hello","world");
	//关闭,归还到连接池中
	jedis..close();
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Laura__zhang/article/details/119456124

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。