Jedis连接Redis
来源:互联网 发布:药品物流配送软件 编辑:程序博客网 时间:2024/05/22 15:23
上篇博客介绍完了Redis的安装,既然服务已经安装好了,也能正常启动了,那么下面就要用代码测试一下到底服务好不好使。下面就记录一下Jedis连接Redis的过程,执行起来比较简单,和在Redis的命令操作页面执行命令是一样的。
Jedis连接Redis
1、引入jedis的jar包
在当前项目中引入jedis的jar包,我的项目是maven项目,所以直接在pom.xml文件中加入以下依赖:
<!-- Redis客户端 --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId></dependency>加入依赖后,更新maven工程,检查maven依赖的jar包中是否添加成功,添加成功后就可以用了。
2、编写代码
在maven工程的src/test/java包下创建一个包com.tgb.test.jedis,在该包中添加测试类JedisTest。首先利用单个Jedis对象连接Redis服务。
@Testpublic void testJedisSingle() {// 创建一个jedis对象Jedis jedis = new Jedis("192.168.243.3", 6379);// 直接调用jedis对象的方法,方法名称和redis的命令一致jedis.set("key1", "feng");jedis.set("key2", "yao");String key1 = jedis.get("key1");String key2 = jedis.get("key2");System.out.println(key1 + " " + key2);// 关闭jedisjedis.close();}创建对象时,构造函数需要传入两个参数,第一个是Redis服务安装的虚拟机的IP,第二个是Redis服务的端口,默认是6379,如果安装时修改过,就传入修改的端口号。Redis是key-value型数据库,set(key,value)是向缓存库中添加数据,get(key)是从缓存库中取数据,执行上面的方法会得到结果:feng yao。
Jedis也可以通过连接池的形式来连接Redis的服务,类似于数据库连接池。
@Testpublic void testJedisPool() {// 创建一个jedis连接池JedisPool jedisPool = new JedisPool("192.168.243.3", 6379);// 从连接池中获得Jedis对象Jedis jedis = jedisPool.getResource();String key1 = jedis.get("key1");String key2 = jedis.get("key2");System.out.println(key1 + " " + key2);// 关闭jedis对象jedis.close();jedisPool.close();}连接池的对象要及时关闭,否则会一直占用连接池的数量,如果连接的对象达到了连接池的上限,连接池便无法再提供连接了。上面方法得到的结果依然是:feng yao。
Spring框架整合Jedis
Spring框架整合Jedis也比较简单,只需要在Spring的配置文件中配置相应内容即可,这里是创建了一个applicationContext-jedis.xml,并在web.xml中加载Spring容器时扫描该配置文件。
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"><!-- 连接池配置 --><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"><!-- 最大连接数 --><property name="maxTotal" value="30" /><!-- 最大空闲连接数 --><property name="maxIdle" value="10" /><!-- 每次释放连接的最大数目 --><property name="numTestsPerEvictionRun" value="1024" /><!-- 释放连接的扫描间隔(毫秒) --><property name="timeBetweenEvictionRunsMillis" value="30000" /><!-- 连接最小空闲时间 --><property name="minEvictableIdleTimeMillis" value="1800000" /><!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 --><property name="softMinEvictableIdleTimeMillis" value="10000" /><!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 --><property name="maxWaitMillis" value="1500" /><!-- 在获取连接的时候检查有效性, 默认false --><property name="testOnBorrow" value="true" /><!-- 在空闲时检查有效性, 默认false --><property name="testWhileIdle" value="true" /><!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true --><property name="blockWhenExhausted" value="false" /></bean> <!-- jedis客户端单机版 --><bean id="redisClient" class="redis.clients.jedis.JedisPool"><constructor-arg name="host" value="192.168.243.3"></constructor-arg><constructor-arg name="port" value="6379"></constructor-arg><constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg></bean><bean id="jedisClient" class="com.taotao.rest.dao.impl.JedisClientSingle"/></beans>
Jedis连接Redis服务,利用的就是JedisPool,Spring整合Jedis只需要把JedisPool类在Spring框架加载时注入就行,这样代码中就可以直接用了。
至此为止,Redis的服务算是完全安装测试完了,我们就可以在项目中连接Redis服务了。初次学习,如有不合适或不对的地方,希望过路的大牛指正,谢谢!
0 0
- Redis-Jedis连接Redis
- jedis连接Redis服务器
- 使用Jedis连接Redis
- Jedis连接Redis
- redis--jedis连接集群
- Jedis 连接远程Redis
- jedis连接redis单机
- jedis连接redis
- 用Jedis连接redis
- jedis连接redis
- Redis安装&&Jedis连接Redis
- jedis连接redis提示JedisConnectionException
- jedis连接池详解(Redis)
- jedis 连接redis超时异常
- jedis 连接redis问题记录
- java通过jedis连接redis
- java使用jedis连接redis
- Redis 客户端Jedis 连接池
- CCF 2015 12-1 数位之和
- 【J2SE】IO初步
- gulp入门
- 判断第二个日期比第一个日期大
- Missing number in matrix
- Jedis连接Redis
- CodeForces 439D Devu and his Brother
- Tomcat的优化经验
- 网络复习日志1
- CCF 2016 4-1 折点计数
- 数据结构与算法分析笔记与总结(java实现)--链表问题面试笔试注意点
- 移动App测试一些崩溃原因及触发崩溃的场景
- HTTP请求的GET与POST方式的区别
- Android调用startForeground 但不显示通知