jedis的连接池
1、需要先打开虚拟机,并开启Linux系统的端口号:6379:

其中,第一行代码为修改字符编码格式,解决SSH中文乱码问题。
2、开启redis:

3、利用连接池实现数据的存取:
(1)代码实现:
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisDemo {
public void test(){
//对连接池进行配置
JedisPoolConfig jedisPoolConfig=new JedisPoolConfig();
jedisPoolConfig.setMaxIdle();//最大闲置个数
jedisPoolConfig.setMinIdle();//最小闲置个数
jedisPoolConfig.setMaxTotal();//最大连接数
//创建一个redis连接池
JedisPool jedisPool=new JedisPool(jedisPoolConfig,"192.168.204.128",);
//从连接池中获取redis的连接资源
Jedis jedis=jedisPool.getResource();
//对数据库进行存取操作
jedis.set("河南","郑州");
System.out.println(jedis.get("河南"));
//释放资源
jedis.close();
jedisPool.close();
}
public static void main(String[]args){
JedisDemo jedisDemo=new JedisDemo();
jedisDemo.test();
}
}
(2)运行结果:

4、连接池工具类:
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisDemo {
private static JedisPool jedisPool= null;
static{
//对连接池进行配置
JedisPoolConfig jedisPoolConfig=new JedisPoolConfig();
jedisPoolConfig.setMaxIdle();//最大闲置个数
jedisPoolConfig.setMinIdle();//最小闲置个数
jedisPoolConfig.setMaxTotal();//最大连接数
//创建一个redis连接池
jedisPool=new JedisPool(jedisPoolConfig,"192.168.204.128",);
}
public static Jedis getJedis(){//从连接池中获取redis的连接资源
return jedisPool.getResource();
}
public static void main(String[] args){
Jedis jedis=getJedis();
String add=jedis.get("河南");
System.out.println(add);
}
}

5、添加配置文件的工具类:
(1)配置文件:
redis.maxIdle=
redis.minIdle=
redis.maxTotal=
redis.url=192.168.204.128
redis.port=
(2)工具类:
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties; public class JedisDemo {
private static JedisPool jedisPool= null;
static{
//读取配置文件
InputStream inputStream=JedisDemo.class.getClassLoader().getResourceAsStream("redis.properties");
Properties properties=new Properties();
try {
properties.load(inputStream);
} catch (IOException e) {
e.printStackTrace();
} //对连接池进行配置
JedisPoolConfig jedisPoolConfig=new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(Integer.parseInt(properties.get("redis.maxIdle").toString()));//最大闲置个数
jedisPoolConfig.setMinIdle(Integer.parseInt(properties.get("redis.minIdle").toString()));//最小闲置个数
jedisPoolConfig.setMaxTotal(Integer.parseInt(properties.get("redis.maxTotal").toString()));//最大连接数
//创建一个redis连接池
jedisPool=new JedisPool(jedisPoolConfig,properties.getProperty("redis.url"),Integer.parseInt(properties.get("redis.port").toString()));
}
public static Jedis getJedis(){//从连接池中获取redis的连接资源
return jedisPool.getResource();
}
public static void main(String[] args){
Jedis jedis=getJedis();
String add=jedis.get("河南");
System.out.println(add);
}
}
读取配置文件中的信息,在有关的参数改变时,只需要改变配置文件即可。

jedis的连接池的更多相关文章
- 在spring中如何生成一个bean (一个对象,比如jedis的连接池对象)【我】
在spring中,要想生成一个单例对象(比如jedis的连接池对象) 方法1: 在 spring中用 bean 标签生成(反正就是让spring生成并管理单例的对象) 方法2: 把要生成的单例对象类, ...
- Jedis分片连接池
[http://blog.csdn.net/lang_man_xing/article/details/38405269] 一下内容来自网络,但是很多细节没有写出来,所以我经过自己琢磨,终于找到原 ...
- Jedis编程设计:连接池
Jedis作为redis的最佳客户端,它提供了连接池的特性,"连接池"在通常情况下可以有效的提高应用的通信能力,并且这是一种良好的设计模式.Jedis的连接池设计基于apa ...
- 为什么要用Jedis连接池+浅谈jedis连接池使用
为什么要使用Jedis连接池 Redis作为缓存数据库理论上和MySQL一样需要客户端和服务端建立起来连接进行相关操作,使用MySQL的时候相信大家都会使用一款开源的连接池,例如C3P0.因为直连会消 ...
- Jedis 连接池的基本使用
jedis直连 每次操作都会创建一个jedis对象,执行完毕后关闭连接后释放,对应的就是一次Tcp连接. jedis连接池 预先生成一批jedis连接对象放入连接池中,当需要对redis进行操作时从连 ...
- 连接池你用对了吗?一次Unexpected end of stream异常的排查
能收获什么? 更加了解TCP协议 Redis与客户端关闭连接的机制 基于Apache Common连接池的参数调优 Linux网络抓包 情况简介 近期迁移了部分应用到K8s中,业务开发人员反馈说,会发 ...
- 【Azure Redis 缓存 Azure Cache For Redis】Redis连接池
问题描述 Redis根据定价层说明,不同级别支持的连接数最多可达4万(同时),但是当短时间又大量连接请求建立的时候,Redis服务的服务压力非常大,到达100%.严重影响了高响应的要求.最严重时,经常 ...
- jedis连接池详解(Redis)
转自:http://tianxingzhe.blog.51cto.com/3390077/1684306 原子性(atomicity): 一个事务是一个不可分割的最小工作单位,事务中包括的诸操作要么都 ...
- Jedis连接池使用
构建redis连接池,返还到连接池 private static JedisPool jedisPool = null; private static Jedis jedis; static { je ...
随机推荐
- [UOJ #393]【NOI2018】归程
题目大意:有一张$n$个点$m$条边的图,每个边有两个属性$a_i,b_i$.有$Q$个询问,每个询问给出$v,p$,表示所有边中$b_i\leqslant p$的边会被标记,在点$v$,可以通过不被 ...
- oracle基础知识语法大全
ORACLE支持五种类型的完整性约束NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值.CHECK (检查)--检查在约束中 ...
- python 3.url了解与基础使用
URL使用 视图: 我们运行项目在网页上查看到的我们称之为视图 视图一般在views.py下编辑 它的第一个参数永远都是request,通过它请求一些数据返回给网页给我们查看. 视图函数的返回结果必须 ...
- Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量
Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量 一丶线程的理论知识 什么是线程: 1.线程是一堆指令,是操作系统调度 ...
- 换个语言学一下 Golang (9)——结构体和接口
基本上到这里的时候,就是上了一个台阶了.Go的精华特点即将展开. 结构体定义 上面我们说过Go的指针和C的不同,结构体也是一样的.Go是一门删繁就简的语言,一切令人困惑的特性都必须去掉. 简单来讲,G ...
- Ubuntu中使用sanp一键安装安装Notepad ++
很少有文本编辑器像Notepad ++一样流行得到广大用户的喜爱,Notepad ++是一个免费的开源代码编辑器,专为Windows构建,用C ++编写.以其小巧的应用程序大小和出色的性能而闻名,但缺 ...
- JAVA基础之事务
世界万事无简单一说, 每个事情基本上由多个小的事情来完成.有的事情会存在若小的事情不能同时完成的情况就取消所有的小的事情,直至都完成达到预期的效果才算完成!这样就用到了事务操作.在所有的sql语句完成 ...
- region、xld有对应的字符串时,将region、xld按照行或列排序的算法实现
用Halcon解码时,如果一张图里面有多个码,它通常可以把这些码都解出来,并且生成对应的解码结果字符串元组(也就是下面的DecodedDataStrings),如果有多个码,那么该元组就有多个元素. ...
- linux技能点 六 软件管理和其他命令
软件管理:rpm ,yum apt -get (ubuntu) rpm -q:查询 rpm -i:安装 rpm -e:卸载 rpm -U:更新 yum install:安装 y ...
- Hive架构分析
一.Hive三种设计模式 1.默认配置[使用Netty存储元数据] 2.mysql[使用mysql存储元数据] 3.配置Thrift[使用mysql存储元数据] 二.执行步骤 三.scala访问Hiv ...