1.Jedis基本操作

1.1Jedis对象常用API

对象常用API:

方法 功能
new Jedis(host, port) 创建Jedis的连接,参数: 主机名,端口号
set(key, value) 添加一个字符串的键值
get(key) 得到指定键的值
del(key) 删除指定键和值
hset(key,field,value) 添加一个hash类型的键-字段-值
hget(key,field) 通过hash键-字段得到它的值
lpush(key,values) 从左边添加一个list类型的键和元素
lpop(key) 从左边弹出一个元素
rpop(key) 从右边弹出一个元素
close() 关闭连接

1.2Jedis的基本操作

操作步骤(例子):

  1. 创建Jedis对象,指定服务器地址和端口号
  2. 向服务器写入,set字符串类型的数据,person=张三
  3. Ipush天界List类型的数据,cities=珠海,深圳,广州
  4. 从服务器中读取上面的数据打印输出
  5. get得到字符串的值
  6. lrange得到List所有的列表元素
  7. 关闭Jedis对象,释放资源
  8. 通过客户端查看数据库中是否有数据

控制台输出:
在这里插入图片描述
数据库中:
在这里插入图片描述
代码:

package com.itheima.jedis;
 
import redis.clients.jedis.Jedis;
 
import java.util.List;

public class Demo1 {
	public static void main(String[] args) {
		//创建Jedis连接对象
		Jedis jedis = new Jedis("Localhost", 端口号)
		//添加string类型
		jedis.lpush("cities", "广州","上海","东莞");
        //读取string类型
        String person = jedis.get("person");
        //读取list类型
        List<String> cities = jedis.lrange("cities", 0, -1);
        //输出到控制器上
        System.out.println("person:" + person);
        System.out.println("cities:" + cities);
        //关闭连接对象
        jedis.close();
	}
}

2.Jedis连接池的使用

2.1Jedis连接池的基本概念

在这里插入图片描述
jedis连接资源的创建与销毁是很消耗程序性能,所以jedis为我们提供了jedis的连接池技术,jedis连接池在创建时初始化一些连接对象存储到连接池中,使用jedis连接资源时不需要自己创建jedis对象,而是从连接池中获取一个资源进行redis的操作。使用完毕后,不需要销毁该jedis连接资源,而是将该资源归还给连接池,供其他请求使用。

3.2Jedis连接池API

JedisPoolConfig配置类 功能说明
JedisPoolConfig() 创建一个配置对象,使用无参构造方法即可
void setMax Total() 设置连接池最大连接数
void setMaxWaitMillis() 设置得到连接对象Jedis最长等待时间
JedisPool连接池类 功能说明
JedisPool(配置对象,服务器名,端口号) 创建连接池参数1:上面的配置对象,参数2:服务器名,参数3:6379
Jedis getResource() 从连接池中得到一个Jedis连接对象
void close() 连接池关闭方法,注:通常不关闭连接池

3.3JedisPool的基本使用

(例)
功能需求:
使用连接池优化Jedis操作

开发步骤:

  1. 创建连接池配置对象,设置最大连接数10,设置用户最大等待时间2000ms
  2. 通过配置对象最为参数,创建连接池对象
  3. 从连接池里面获取Jedis连接对线,执行redis命令
  4. 执行redis命令sadd写入set集合类型的数据
  5. 执行redis命令smembers读取集合中的数据
  6. 输出读取的数据
  7. 关闭连接对象(连接池通常不关闭)

运行效果:
在这里插入图片描述
代码:

package com.itheima.jedis;
 
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
 
import java.util.Set;
 
/**
 * 创建Jedis连接池
 */

public class Demo2 {
	
	public static void main(String[] args) {
		// 1,创建连接池配置对象,设置最大连接数10,设置用户最大等待时间2000毫秒
		JedisPoolConfig config = new JedisPoolConfig():
		config.setMaxTotal(10);
		config.setMaxWaitMillis(2000);
		
		// 2,通过配置对象作为参数, 创建连接池对象
		JedisPool pool = new Jedispool(config, "localhost", 端口);
		
		// 3,从连接池里面获取Jedis连接对象,执行redis命令
		Jedis jedis = pool.getResource();
		
		// 4,执行redis命令sadd写入set集合类型的数据:students=白骨精,孙悟空,猪八戒
        jedis.sadd("students", "白骨精", "孙悟空", "猪八戒");
        
        // 5,执行redis命令smembers读取集合中的数据
        Set<String> students = jedis.smembers("students");
        
        // 6,输出读取的数据
        System.out.println(students);
        
        // 7,关闭连接对象(通常连接池不关闭)
        jedis.close();
        pool.close();
	}
}

原文参考借鉴:https://blog.csdn.net/weixin_45481821/article/details/125009912?ops_request_misc=%257B%2522request%255Fid%2522%253A%25229cdb0a9e71cf593a0929bd2346f69993%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=9cdb0a9e71cf593a0929bd2346f69993&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~hot_rank-5-125009912-null-null.nonecase&utm_term=jedis&spm=1018.2226.3001.4450

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐