1、关闭linux防火墙
2、启动redis
3、创建maven,web项目
4、导入Jedis依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${redis.version}</version>
</dependency>
5、三种方式代码实现
不使用池化技术单机版
/**
* 单机版,不使用池技术实现Redis连接测试
*/
@Test
public void test1() {
//建立连接 需要关闭防火墙 用密码连接
Jedis jedis = new Jedis("192.168.60.100", 6379);
jedis.auth("11044a");
//插入一个字符键age 20
//jedis.set("age", "20");
//得到这个key,输出
String age = jedis.get("age");
System.out.println(age);
//关闭连接
jedis.close();
}
单机版使用池技术
/**
* 单机版,使用池技术实现Redis连接测试
*/
@Test
public void test2() {
//创建Jedis池对象
JedisPool jedisPool = new JedisPool("192.168.60.100",6379);
//从JedisPool中拿到一个Jedis对象 设置密码
Jedis jedis = jedisPool.getResource();
jedis.auth("11044a");
//插入一个字符键name lisi
jedis.set("name", "lisi");
//得到这个key,输出
String name = jedis.get("name");
System.out.println(name);
//关闭连接,每次使用完关闭连接,连接池回收资源
jedis.close();
//关闭连接池
jedisPool.close();
}
单机版 使用自定义池技术(重点)
JedisPoolUtils.java
package com.xue.common;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisPoolUtils {
//声明一个JedisPool对象
private static JedisPool jedisPool;
public static JedisPool open(String host, int port) {
if (jedisPool == null) {
//创建池的配置对象
JedisPoolConfig config = new JedisPoolConfig();
//设置最大线程数,一个线程就是一个Jedis对象
config.setMaxTotal(1000);
//设置最大的空闲数
config.setMaxIdle(2);
//设置检查项为true,表示从线程池中获取的对象一定是经过检查可用的
config.setTestOnBorrow(true);
/*
*
poolConfig:配置JedisPoolConfig
host:redis所在的ip
port:redis的端口
timeout:连接redis的超时时间,毫秒值
password:redis的访问密码
*/
//实例化JedisPool池
jedisPool = new JedisPool(config, host, port, 60000, "11044a");
}
return jedisPool;
}
//关闭池
public static void close() {
//如果池不为空,则关闭
if(jedisPool != null)
jedisPool.close();
}
}
/**
* 单机版,使用池技术实现Redis连接测试 自定义池
*/
@Test
public void test3() {
//创建Jedis池对象
JedisPool jedisPool = JedisPoolUtils.open("192.168.60.100", 6379);
//从JedisPool中拿到一个Jedis对象
Jedis jedis = jedisPool.getResource();
//插入一个字符键地址 beijing
jedis.set("address", "beijing");
//得到这个key,输出
String address = jedis.get("address");
System.out.println(address);
//关闭连接,每次使用完关闭连接,连接池回收资源
jedis.close();
//关闭连接池
JedisPoolUtils.close();
}