相信大家都用过线程池或者是jdbc的连接池,使用池可以减少系统在使用所需对象时创建对象的开销,从而提高系统性能和效率。jedis池也是如此,那么我们该如何使用jedis池呢?
二、jedis池的使用
1.所需jar包:
commons-pool.jar、jedis-2.1.0.jar
2.编写Redis配置文件(redis.properties):
3.编写Java实现代码:本例中代码如下:
#*****************jedis连接参数设置*********************#
#redis服务器ip #
redis.ip=192.168.8.167
#redis服务器端口号#
redis.port=6379
#************************jedis池参数设置*******************#
#jedis的最大分配对象#
jedis.pool.maxActive=3000
#jedis最大保存idel状态对象数 #
jedis.pool.maxIdle=1000
#jedis池没有对象返回时,最大等待时间 #
jedis.pool.maxWait=1500
#jedis调用borrowObject方法时,是否进行有效检查#
jedis.pool.testOnBorrow=true
#jedis调用returnObject方法时,是否进行有效检查 #
jedis.pool.testOnReturn=true
package com.zhongying.customer.utils;
import java.io.IOException;
import java.util.Properties;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class MyJedisPool {
private static JedisPool pool;
//静态代码初始化池配置
static {
try{
Properties props = new Properties();
props.load(MyJedisPool.class.getClassLoader().getResourceAsStream("redis.properties"));
//创建jedis池配置实例
JedisPoolConfig config = new JedisPoolConfig();
//设置池配置项值
config.setMaxActive(Integer.valueOf(props.getProperty("jedis.pool.maxActive")));
config.setMaxIdle(Integer.valueOf(props.getProperty("jedis.pool.maxIdle")));
config.setMaxWait(Long.valueOf(props.getProperty("jedis.pool.maxWait")));
config.setTestOnBorrow(Boolean.valueOf(props.getProperty("jedis.pool.testOnBorrow")));
config.setTestOnReturn(Boolean.valueOf(props.getProperty("jedis.pool.testOnReturn")));
//根据配置实例化jedis池
pool = new JedisPool(config, props.getProperty("redis.ip"), Integer.valueOf(props.getProperty("redis.port")));
}catch (IOException e) {
e.printStackTrace();
}
}
/**获得jedis对象*/
public static Jedis getJedisObject(){
return pool.getResource();
}
/**归还jedis对象*/
public static void recycleJedisOjbect(Jedis jedis){
pool.returnResource(jedis);
}
/**
* 测试jedis池方法
*/
public static void main(String[] args) {
Jedis jedis = getJedisObject();//获得jedis实例
//获取jedis实例后可以对redis服务进行一系列的操作
jedis.set("name", "zhuxun");
System.out.println(jedis.get("name"));
jedis.del("name");
System.out.println(jedis.exists("name"));
recycleJedisOjbect(jedis); //将 获取的jedis实例对象还回迟中
}
}
4.测试执行结果如下:
zhuxun
false
相关推荐
本篇文章将介绍如何通过Jedis库来实现Spring Boot与Redis的集成。 首先,确保你已经在本地安装并启动了Redis服务器。你可以从官方站点下载Redis并按照指示安装。安装完成后,通过命令行运行`redis-cli`,如果看到...
使用Jedis,你需要添加Jedis的依赖到项目中,然后创建Jedis实例,通过连接池管理连接。基本的操作包括设置和获取键值(`set`和`get`),操作哈希(`hset`、`hget`等),向列表中添加元素(`lpush`、`rpop`)等。...
以上是关于"spring集成redis需要的jar包"的基本介绍和集成步骤,这两个库在实际项目中扮演着重要角色,帮助开发者高效地使用Redis进行数据存储和缓存管理。确保正确配置和使用这些库,可以提升应用程序的性能和可...
7. **连接池管理**:为了提高性能和资源利用率,通常会使用连接池来管理Redis连接。JedisPoolConfig是Jedis的连接池配置,可以设置最大连接数、空闲连接数、超时时间等参数。 8. **异常处理**:在进行Redis操作时,...
* Java可以使用Jedis连接Redis,并通过JedisPoolConfig设置连接池。 * Java可以使用ObjectUtil工具类来实现序列化和反序列化。 * Java可以使用Message类来实现消息队列的存储和取出。 五、应用场景 * 消息队列可以...
以下将详细讲解标题和描述中提及的几个关键知识点:MySQL连接包、Druid连接池包、Redis包以及Json相关包,并简要介绍JSTL JAR包。 1. **MySQL连接包**: MySQL Connector/J是MySQL官方提供的用于Java应用程序的...
- **高性能**: 内置了多种连接池机制,如 Jedis 和 Lettuce,确保高并发场景下的稳定性和性能。 - **社区支持**: 得益于强大的 Spring 社区,Spring Data Redis 拥有活跃的开发者社区和完善的文档支持。 #### 三、...
下面将详细介绍如何在Java中使用Redis以及Spring MVC中的拦截器来获取并保存对象。 1. **安装与配置Redis** - 首先,你需要下载Redis服务器并安装在本地或服务器上,确保其正常运行。 - 在Java项目中,我们需要...
在上面的代码中,我们使用Jedis连接池来连接Redis,然后将对象序列化成字节数组,并将其存储在Redis中。 获取对象 为了获取存储在Redis中的对象,我们需要将其反序列化成Java对象。下面是一个简单的示例代码: ```...
【SpringMVC+Nutz框架介绍】 SpringMVC和Nutz框架是两个在企业级应用开发中广泛使用的开源框架。SpringMVC是Spring框架的一部分,主要用于构建Web应用程序的模型-视图-控制器(MVC)架构。Nutz则是一个轻量级的Java...
这里我们排除了默认的Lettuce连接池,转而使用Jedis。Jedis是一个流行的Java Redis客户端,适合简单场景。 然后,在`application.properties`或`application.yml`中配置Redis连接信息: ```properties spring....
-- redis连接池 -->12 <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"/>13 14 <!-- redis连接工厂 -->15 <bean id="connectionFactory" class="org.springframework.data.redis.connection....
面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....
标题中的“tomcat8 用redis共享session用于jdk8以上版本”揭示了本文将深入探讨在Java开发环境中,如何利用Tomcat8应用服务器与Redis内存数据存储系统来实现跨服务器的Session共享,特别针对JDK8及更高版本。...
相比之下,Jedis是直连Redis Server的客户端程序,在多线程环境下非线程安全,除非使用连接池,为每个Jedis实例增加物理连接。 现在,让我们开始介绍SpringBoot整合Lettuce Redis的过程: 一、添加依赖 首先,...