Java操作Redis
一、Java使用Jedis
1.Java操作Redis的选择
- 需要redis的一个java客户端jedis。
- jedis是客户端,而reids是服务器,使用jedis这个java客户端操作redis数据库。
- 2.9.0 jar 版本下载: jedis-2.9.0.jar
- 在你的 classpath 中包含该驱动包。
2.Jedis的使用
import redis.clients.jedis.Jedis;
public class Main {
public static void main(String[] args) {
String host ="127.0.0.1";
int port = 6379;
int timeout = 1000;//超时时间,1秒超时
//连接本地的 Redis 服务
Jedis jedis = new Jedis(host,port,timeout);
// 如果 Redis 服务设置了密码,需要下面这行,没有就不需要
// jedis.auth("123456");
System.out.println("连接成功");
//查看服务是否运行
System.out.println("服务正在运行: "+jedis.ping());
}
}
运行以上 Java 程序
3.连接池的使用
连接池的作用:
-
限定了最大并发连接数,防止Redis服务由于连接过多而崩溃。
-
避免重复创建和关闭连接,节约内存资源,和时间资源。
连接池参数设置:
-
最小连接数(空闲最大连接数)
-
最大连接数(忙时最大连接数)
-
超时时间(创建连接超时时间)
-
设置连接畅通时机
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import org.junit.Test;
public class RedisTest {
/*
使用连接池访问Redis
1.创建连接池配置对象
2.配置
忙时:最大连接数
闲时:最大连接数
最大等待时间
获取连接池检查配置
3.通过连接池配置对象创建连接池jedispool
4.通过连接池获取连接
5.执行操作
6.释放连接
7.摧毁连接池-如果是真正项目中它应该是一个受spring管理的单例
*/
@Test
public void testRedis() throws Exception{
//1.创建连接池配置对象
JedisPoolConfig config = new JedisPoolConfig();
//2.配置
config.setMaxIdle(8);//忙时:最大连接数
config.setMaxTotal(10);//闲时:最大连接数
config.setMaxWaitMillis(1*1000); //创建连接超时
config.setTestOnBorrow(true);//获取连接是测试连接是否畅通
//3.创建连接池
JedisPool pool = new JedisPool(config, "127.0.0.1",6379, 1000);
//4.通过连接池获取连接
Jedis jedis = pool.getResource();
//5.执行操作
jedis.set("name","木研");
System.out.println("获取值:" + jedis.get(