[Redis]Jedis的基本使用
·
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的基本操作
操作步骤(例子):
- 创建Jedis对象,指定服务器地址和端口号
- 向服务器写入,set字符串类型的数据,person=张三
- Ipush天界List类型的数据,cities=珠海,深圳,广州
- 从服务器中读取上面的数据打印输出
- get得到字符串的值
- lrange得到List所有的列表元素
- 关闭Jedis对象,释放资源
- 通过客户端查看数据库中是否有数据
控制台输出:
数据库中:
代码:
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操作
开发步骤:
- 创建连接池配置对象,设置最大连接数10,设置用户最大等待时间2000ms
- 通过配置对象最为参数,创建连接池对象
- 从连接池里面获取Jedis连接对线,执行redis命令
- 执行redis命令sadd写入set集合类型的数据
- 执行redis命令smembers读取集合中的数据
- 输出读取的数据
- 关闭连接对象(连接池通常不关闭)
运行效果:
代码:
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
更多推荐



所有评论(0)